Данный проект реализует импорт данных из списков, экспорт данных в виде разбитых на страницы списков с возможностью настройки формата и поддержки шаблонов, а также гибридный экспорт с использованием шаблонов и списков. Проект отличается компактностью, простотой использования и высокой производительностью.
Класс Excel:
Класс Excel используется для аннотирования классов и определяет свойства, необходимые для чтения и записи данных Excel. Свойства включают:
Класс Sheet:
Используется для аннотирования класса и определения свойств, связанных с листами. Свойства включают:
Класс Cell:
Применяется для аннотирования полей и определяет соответствие между полем и ячейкой. Свойства включают:
Класс Ingore:
Аннотирует поля и указывает, нужно ли выполнять операции чтения или записи для данного поля.
Класс ListExcel:
Этот класс используется для аннотации объектов и коллекций для гибридного экспорта. Свойство beginRowName определяет метку начальной строки, которая используется при несовпадении с именем поля.
Класс Select:
Обозначает раскрывающийся список (только для hssfworkbook и xssfworkbook).
Функции и использование:
Чтение данных из списка: Пример кода можно найти в папке EASYEXCEL\test\com\easyexcel\readlisttest. Обратите внимание на путь к файлу. Код: Класс: @Excel(beginRow=2,inFilePath="d:\students.xlsx") public class Students { @Cell(columnNum="2") private String name; @Cell(columnNum="c")//or@Cell(whichCell="C") private int age; } Использование: ReadExcel re = new ReadListExcel<>(); //Map<String,Object> param = new HashMap<String, Object>(); //List list = re.read(param,Students.class); List list = re.read(Students.class);
Чтение данных из шаблона: a. Чтение данных с помощью меток из шаблона: пример кода можно найти в папке EASYEXCEL\test\com\easyexcel\readmodeloflabletest. Обратите внимание на путь к файлу. Код: Класс: public class Students { private String name; private int age; } Использование: ReadExcel re = new ReadModelExcel<>(); Map<String,Object> param = new HashMap<String,Object>(); param.put("inFilePath","d:\studentsModel.xlsx"); List list = re.read(param,Students.class);
b. Чтение данных из шаблона с помощью аннотаций: пример кода можно найти в папке EASYEXCEL\test\com\easyexcel\readmodelofannotationtest. Обратите внимание на путь к файлу. Код: Класс: @Excel(inFilePath="d:\studentsModelann.xlsx") public class Students { @Cell(rowNum = 5,columnNum="b") private String name; @Cell(rowNum = 2,columnNum="c")//or@Cell(columnNum="C") private int age; } Использование: ReadExcel re = new ReadModelExcel<>(); //List list = re.read(null,Students.class); List list = re.read(Students.class)
Запись данных в список: Существует общая реализация, пример кода можно найти в папке EASYEXCEL\test\com\easyexcel\writelistTest. Метод называется testCommon. Код: Класс: @Excel(beginRow=1,dataHeader="姓名:1,年龄:3,成绩:4",outFilePath="d:\test.xls") @Sheet(/sheetSize=2000,/sheetName="测试") public class Students { @Cell(columnNum="1") private String name; @Cell(columnNum="c") private int age; @Cell(columnNum="4") private double grade; } Использование: WriteExcel we = new WriteListExcel(); //Map<String,Object> param = new HashMap<String, Object>(); List list = new ArrayList(); for(int i=1;i<5000;i++){ list.add(new Students("name"+i,i,i)); } ``` @Cell(rowNum=3,columnNum="b") private int age;
@Ingroe private double price;
@ListExcel private List grades = new ArrayList(); }
public class Grade { @Cell(columnNum="1") private String topic;
@Cell(columnNum="2")
private double score;
}
Использование:
WriteExcel we = new WriteModelExcel(); //Map<String,Object> param = new HashMap<>(); List list = new ArrayList(); Students students = new Students("张三2222222222222222222222222222222",25); List grades = new ArrayList(); Grade grade = new Grade("数学",99); grades.add(grade); students.setGrades(grades); list.add(students); //we.write(param, list); we.write(list);
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )