###EasyXls
Использование EasyXls позволяет удобно работать с Excel. Цель этого проекта — решить проблему импорта и экспорта простых файлов xls без каких-либо стилей.
####Особенности EasyXls:
####Maven
<dependency>
<groupId>com.github.abel533</groupId>
<artifactId>EasyXls</artifactId>
<version>1.1.0</version>
</dependency>
Версия 1.1.0 от 2015-10-08:
В проекте есть простой генератор конфигураций в формате xml, который можно использовать для создания конфигураций. Для этого нужно создать main метод в проекте и вызвать следующий метод:
EasyXls.openGenerater();
####Поддерживаемые типы столбцов: — int; — long; — float; — double; — java.lang.Integer; — java.lang.Long; — java.lang.Float; — java.lang.Double; — java.util.Date; — java.math.BigDecimal.
####Зависимости проекта:
<dependency>
<groupId>net.sourceforge.jexcelapi</groupId>
<artifactId>jxl</artifactId>
<version>2.6.12</version>
</dependency>
####Описание параметров конфигурации: Некоторые свойства действуют только при записи в xls, они отмечены как «запись», а некоторые используются только при чтении из xls и помечены как «чтение». Общие параметры не имеют меток.
Общие параметры:
Параметры столбца Column:
####Пример Часть xml:
<?xml version="1.0" encoding="GBK" standalone="yes"?>
<excel>
<cache>false</cache>
<sheet>一次性费用</sheet>
<class>po.Charges</class>
<sheetNum>0</sheetNum>
<startRow>1</startRow>
<columns>
<column>
<name>year</name>
<header>年度</header>
<type>java.lang.Integer</type>
<width>50</width>
</column>
<column>
<name>ownersname</name>
<header>户主姓名</header>
<type>java.lang.String</type>
<width>120</width>
</column>
</columns>
</excel>
Чтение xls с помощью конфигурации xml:
@Test
public void testMap() {
try {
List list = EasyXls.xls2List(
Xls2ListTest.class.getResource("/ChargesMap.xml").getPath(),
new File(Xls2ListTest.class.getResource("2.xls").getPath()));
System.out.println(list);
} catch (Exception e) {
e.printStackTrace();
}
}
Создание конфигурации Config с помощью кода Java и чтение xls:
@Test
public void testConfig() {
try {
//创建一个配置
ExcelConfig config = new ExcelConfig.Builder(Charges.class)
.sheetNum(0)
.startRow(1)
.key("name")
.addColumn("year", "communityid", "roomno", "ownersid", "ownersname", "property").build();
List list = EasyXls.xls2List(config, Xls2ListTest.class.getResourceAsStream("2.xls"));
for (int i = 0; i < list.size(); i++) {
System.out.println(((Charges) list.get(i)).getOwnersname());
}
} catch (Exception e) {
e.printStackTrace();
}
}
Здесь обработка столбцов очень проста, достаточно просто сопоставить столбцы excel со столбцами column один к одному.
Чтение с помощью конфигурации xml и запись в новый файл xls с использованием конфигурации:
@Test
public void testMap2() {
InputStream is = Xls2ListTest.class.getResourceAsStream("2.xls");
try {
String xmlPath = Xls2ListTest.class.getResource("/ChargesMap.xml").getPath();
List list = EasyXls.xls2List(xmlPath, is);
Map map = new HashMap();
map.put("year", 2013);
map.put("ownersname", "测试户主");
list.add(map);
EasyXls.list2Xls(list, xmlPath, "d:/", "testMap.xls");
ExcelConfig config = new ExcelConfig.Builder(Charges.class)
.sheetNum(0)
.startRow(1)
.separater(",")
.key("name")
.addColumn("year,年度", "communityid,小区ID",
"roomno,房号", "ownersid,户主ID",
"ownersname,户主姓名", "property,物业费").build();
EasyXls.list2Xls(config, list, "d:/", "testMap2.xls");
} catch (Exception e) {
e.printStackTrace();
}
}
``` Здесь для удобства вызова сначала используется метод `.separater(",")` для установки разделителя (по умолчанию — запятая), а затем в методе `addColumn` используются значения, подобные `"year,год,200"`.
Этот способ присваивания поддерживает максимум 4 параметра, которые соответствуют name, header, width и type, например:
>`year,год,200,java.lang.Integer`
При использовании POJO-класса не нужно указывать тип, а при использовании Map можно использовать type для указания типа.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )