This is an automated email from the ASF dual-hosted git repository.
psxjoy pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/fesod.git
The following commit(s) were added to refs/heads/main by this push:
new 2a945c0f refactor: replace FastExcel with FesodSheet in example
module's demo package (#695)
2a945c0f is described below
commit 2a945c0f4672824c3855cad55b6e6c415355576d
Author: gongzhongqiang <[email protected]>
AuthorDate: Wed Nov 19 18:53:54 2025 +0800
refactor: replace FastExcel with FesodSheet in example module's demo
package (#695)
---
.../org/apache/fesod/sheet/demo/fill/FillTest.java | 32 ++++-----
.../apache/fesod/sheet/demo/rare/WriteTest.java | 8 +--
.../org/apache/fesod/sheet/demo/read/ReadTest.java | 74 +++++++++----------
...ExcelApplication.java => FesodApplication.java} | 4 +-
.../org/apache/fesod/sheet/demo/web/WebTest.java | 12 ++--
.../demo/write/EscapeHexCellWriteHandlerTest.java | 26 +++----
.../apache/fesod/sheet/demo/write/WriteTest.java | 82 ++++++++++++----------
.../fesod/sheet/demo/write/WriteWithColorTest.java | 4 +-
8 files changed, 124 insertions(+), 118 deletions(-)
diff --git
a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/fill/FillTest.java
b/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/fill/FillTest.java
index d8316ed6..64cc68ee 100644
---
a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/fill/FillTest.java
+++
b/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/fill/FillTest.java
@@ -25,7 +25,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.fesod.sheet.ExcelWriter;
-import org.apache.fesod.sheet.FastExcel;
+import org.apache.fesod.sheet.FesodSheet;
import org.apache.fesod.sheet.enums.WriteDirectionEnum;
import org.apache.fesod.sheet.util.ListUtils;
import org.apache.fesod.sheet.util.MapUtils;
@@ -63,7 +63,7 @@ public class FillTest {
FillData fillData = new FillData();
fillData.setName("Zhang San");
fillData.setNumber(5.2);
-
FastExcel.write(fileName).withTemplate(templateFileName).sheet().doFill(fillData);
+
FesodSheet.write(fileName).withTemplate(templateFileName).sheet().doFill(fillData);
// Option 2: Fill based on a Map
fileName = TestFileUtil.getPath() + "simpleFill" +
System.currentTimeMillis() + ".xlsx";
@@ -71,7 +71,7 @@ public class FillTest {
Map<String, Object> map = MapUtils.newHashMap();
map.put("name", "Zhang San");
map.put("number", 5.2);
-
FastExcel.write(fileName).withTemplate(templateFileName).sheet().doFill(map);
+
FesodSheet.write(fileName).withTemplate(templateFileName).sheet().doFill(map);
}
/**
@@ -92,13 +92,13 @@ public class FillTest {
// Option 1: Load all data into memory at once and fill
String fileName = TestFileUtil.getPath() + "listFill" +
System.currentTimeMillis() + ".xlsx";
// This will fill the first sheet, and the file stream will be
automatically closed.
-
FastExcel.write(fileName).withTemplate(templateFileName).sheet().doFill(data());
+
FesodSheet.write(fileName).withTemplate(templateFileName).sheet().doFill(data());
// Option 2: Fill in multiple passes, using file caching (saves memory)
fileName = TestFileUtil.getPath() + "listFill" +
System.currentTimeMillis() + ".xlsx";
try (ExcelWriter excelWriter =
-
FastExcel.write(fileName).withTemplate(templateFileName).build()) {
- WriteSheet writeSheet = FastExcel.writerSheet().build();
+
FesodSheet.write(fileName).withTemplate(templateFileName).build()) {
+ WriteSheet writeSheet = FesodSheet.writerSheet().build();
excelWriter.fill(data(), writeSheet);
excelWriter.fill(data(), writeSheet);
}
@@ -120,8 +120,8 @@ public class FillTest {
String fileName = TestFileUtil.getPath() + "complexFill" +
System.currentTimeMillis() + ".xlsx";
// Option 1
try (ExcelWriter excelWriter =
-
FastExcel.write(fileName).withTemplate(templateFileName).build()) {
- WriteSheet writeSheet = FastExcel.writerSheet().build();
+
FesodSheet.write(fileName).withTemplate(templateFileName).build()) {
+ WriteSheet writeSheet = FesodSheet.writerSheet().build();
// Note: The forceNewRow parameter is used here. When writing a
list, it will always create a new row, and
// the data below will be shifted down. Default is false, which
will use the next row if available,
// otherwise create a new one.
@@ -160,8 +160,8 @@ public class FillTest {
// Option 1
try (ExcelWriter excelWriter =
-
FastExcel.write(fileName).withTemplate(templateFileName).build()) {
- WriteSheet writeSheet = FastExcel.writerSheet().build();
+
FesodSheet.write(fileName).withTemplate(templateFileName).build()) {
+ WriteSheet writeSheet = FesodSheet.writerSheet().build();
// Directly write data
excelWriter.fill(data(), writeSheet);
excelWriter.fill(data(), writeSheet);
@@ -206,8 +206,8 @@ public class FillTest {
String fileName = TestFileUtil.getPath() + "horizontalFill" +
System.currentTimeMillis() + ".xlsx";
// Option 1
try (ExcelWriter excelWriter =
-
FastExcel.write(fileName).withTemplate(templateFileName).build()) {
- WriteSheet writeSheet = FastExcel.writerSheet().build();
+
FesodSheet.write(fileName).withTemplate(templateFileName).build()) {
+ WriteSheet writeSheet = FesodSheet.writerSheet().build();
FillConfig fillConfig = FillConfig.builder()
.direction(WriteDirectionEnum.HORIZONTAL)
.build();
@@ -238,8 +238,8 @@ public class FillTest {
// Option 1
try (ExcelWriter excelWriter =
-
FastExcel.write(fileName).withTemplate(templateFileName).build()) {
- WriteSheet writeSheet = FastExcel.writerSheet().build();
+
FesodSheet.write(fileName).withTemplate(templateFileName).build()) {
+ WriteSheet writeSheet = FesodSheet.writerSheet().build();
FillConfig fillConfig = FillConfig.builder()
.direction(WriteDirectionEnum.HORIZONTAL)
.build();
@@ -278,7 +278,7 @@ public class FillTest {
// Fill the template with data.
// The dates in the data will be formatted according to the template's
settings.
-
FastExcel.write(fileName).withTemplate(templateFileName).sheet().doFill(data());
+
FesodSheet.write(fileName).withTemplate(templateFileName).sheet().doFill(data());
}
@Test
@@ -289,7 +289,7 @@ public class FillTest {
FillData fillData = new FillData();
fillData.setName("Zhang San");
fillData.setNumber(5.2);
- FastExcel.write(fileName)
+ FesodSheet.write(fileName)
.withTemplate(templateFileName)
.sheet()
.registerWriteHandler(new SheetWriteHandler() {
diff --git
a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/rare/WriteTest.java
b/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/rare/WriteTest.java
index dad3119b..fcc2f1a6 100644
---
a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/rare/WriteTest.java
+++
b/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/rare/WriteTest.java
@@ -24,7 +24,7 @@ import java.util.Date;
import java.util.List;
import lombok.extern.slf4j.Slf4j;
import org.apache.fesod.sheet.ExcelWriter;
-import org.apache.fesod.sheet.FastExcel;
+import org.apache.fesod.sheet.FesodSheet;
import org.apache.fesod.sheet.demo.read.DemoData;
import org.apache.fesod.sheet.util.FileUtils;
import org.apache.fesod.sheet.util.ListUtils;
@@ -61,7 +61,7 @@ public class WriteTest {
File file = TestFileUtil.createNewFile("rare/compressedTemporaryFile"
+ System.currentTimeMillis() + ".xlsx");
// Specify which class to use for writing here
- try (ExcelWriter excelWriter = FastExcel.write(file, DemoData.class)
+ try (ExcelWriter excelWriter = FesodSheet.write(file, DemoData.class)
.registerWriteHandler(new WorkbookWriteHandler() {
/**
@@ -83,7 +83,7 @@ public class WriteTest {
})
.build()) {
// Note that the same sheet should only be created once
- WriteSheet writeSheet = FastExcel.writerSheet("Template").build();
+ WriteSheet writeSheet = FesodSheet.writerSheet("Template").build();
// 100,000 data entries to ensure sufficient space
for (int i = 0; i < 10000; i++) {
// Query data from the database page by page. Here you can
query data for each page from the database
@@ -107,7 +107,7 @@ public class WriteTest {
// event
// If it is after the last row, since there will be no more data
afterwards, just intercept the
// afterWorkbookDispose event and write the data when the Excel file
is almost done
- FastExcel.write(file, DemoData.class)
+ FesodSheet.write(file, DemoData.class)
// Writing value before the last row
.registerWriteHandler(new RowWriteHandler() {
@Override
diff --git
a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/ReadTest.java
b/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/ReadTest.java
index 6021a257..36b81493 100644
---
a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/ReadTest.java
+++
b/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/read/ReadTest.java
@@ -25,7 +25,7 @@ import java.util.List;
import java.util.Map;
import lombok.extern.slf4j.Slf4j;
import org.apache.fesod.sheet.ExcelReader;
-import org.apache.fesod.sheet.FastExcel;
+import org.apache.fesod.sheet.FesodSheet;
import org.apache.fesod.sheet.annotation.ExcelProperty;
import org.apache.fesod.sheet.annotation.format.DateTimeFormat;
import org.apache.fesod.sheet.annotation.format.NumberFormat;
@@ -55,7 +55,7 @@ public class ReadTest {
* <p>
* 1. Create an entity class corresponding to the Excel data structure.
Refer to {@link DemoData}.
* <p>
- * 2. Since FastExcel reads Excel files row by row, you need to create a
callback listener for each row. Refer to {@link DemoDataListener}.
+ * 2. Since Fesod reads Excel files row by row, you need to create a
callback listener for each row. Refer to {@link DemoDataListener}.
* <p>
* 3. Directly read the file.
*/
@@ -67,7 +67,7 @@ public class ReadTest {
// Specify the class to read the data, then read the first sheet. The
file stream will be automatically closed.
// By default, it reads 100 rows at a time. You can process the data
directly.
// The number of rows to read can be set in the constructor of
`PageReadListener`.
- FastExcel.read(fileName, DemoData.class, new
PageReadListener<DemoData>(dataList -> {
+ FesodSheet.read(fileName, DemoData.class, new
PageReadListener<DemoData>(dataList -> {
for (DemoData demoData : dataList) {
log.info("Reading a row of data: {}",
JSON.toJSONString(demoData));
}
@@ -80,7 +80,7 @@ public class ReadTest {
// Anonymous inner class, no need to create a separate DemoDataListener
fileName = TestFileUtil.getPath() + "demo" + File.separator +
"demo.xlsx";
// Specify the class to read the data, then read the first sheet. The
file stream will be automatically closed.
- FastExcel.read(fileName, DemoData.class, new ReadListener<DemoData>() {
+ FesodSheet.read(fileName, DemoData.class, new ReadListener<DemoData>()
{
/**
* Batch size for caching data
*/
@@ -121,15 +121,17 @@ public class ReadTest {
// Approach 3:
fileName = TestFileUtil.getPath() + "demo" + File.separator +
"demo.xlsx";
// Specify the class to read the data, then read the first sheet. The
file stream will be automatically closed.
- FastExcel.read(fileName, DemoData.class, new
DemoDataListener()).sheet().doRead();
+ FesodSheet.read(fileName, DemoData.class, new DemoDataListener())
+ .sheet()
+ .doRead();
// Approach 4
fileName = TestFileUtil.getPath() + "demo" + File.separator +
"demo.xlsx";
// One reader per file
- try (ExcelReader excelReader =
- FastExcel.read(fileName, DemoData.class, new
DemoDataListener()).build()) {
+ try (ExcelReader excelReader = FesodSheet.read(fileName,
DemoData.class, new DemoDataListener())
+ .build()) {
// Build a sheet. You can specify the name or index.
- ReadSheet readSheet = FastExcel.readSheet(0).build();
+ ReadSheet readSheet = FesodSheet.readSheet(0).build();
readSheet.setNumRows(2);
// Read a single sheet
excelReader.read(readSheet);
@@ -141,7 +143,7 @@ public class ReadTest {
String fileName = TestFileUtil.getPath() + "demo" + File.separator +
"generic-demo.xlsx";
// Simulate obtaining the Excel header's Class<?> object through any
possible means
Class<?> excelHeaderClass = DemoDataAnother.class;
- FastExcel.read(fileName, excelHeaderClass,
GenericHeaderTypeDataListener.build(excelHeaderClass))
+ FesodSheet.read(fileName, excelHeaderClass,
GenericHeaderTypeDataListener.build(excelHeaderClass))
.sheet()
.doRead();
}
@@ -151,7 +153,7 @@ public class ReadTest {
* <p>
* 1. Create an entity class corresponding to the Excel data structure and
use the {@link ExcelProperty} annotation. Refer to {@link IndexOrNameData}.
* <p>
- * 2. Since FastExcel reads Excel files row by row, you need to create a
callback listener for each row. Refer to {@link IndexOrNameDataListener}.
+ * 2. Since Fesod reads Excel files row by row, you need to create a
callback listener for each row. Refer to {@link IndexOrNameDataListener}.
* <p>
* 3. Directly read the file.
*/
@@ -159,7 +161,7 @@ public class ReadTest {
public void indexOrNameRead() {
String fileName = TestFileUtil.getPath() + "demo" + File.separator +
"demo.xlsx";
// By default, read the first sheet
- FastExcel.read(fileName, IndexOrNameData.class, new
IndexOrNameDataListener())
+ FesodSheet.read(fileName, IndexOrNameData.class, new
IndexOrNameDataListener())
.numRows(1)
.sheet()
.doRead();
@@ -170,7 +172,7 @@ public class ReadTest {
* <p>
* 1. Create an entity class corresponding to the Excel data structure.
Refer to {@link DemoData}.
* <p>
- * 2. Since FastExcel reads Excel files row by row, you need to create a
callback listener for each row. Refer to {@link DemoDataListener}.
+ * 2. Since Fesod reads Excel files row by row, you need to create a
callback listener for each row. Refer to {@link DemoDataListener}.
* <p>
* 3. Directly read the file.
*/
@@ -180,20 +182,20 @@ public class ReadTest {
// Read all sheets
// Note: The `doAfterAllAnalysed` method of DemoDataListener will be
called once after each sheet is read.
// All sheets will write to the same DemoDataListener.
- FastExcel.read(fileName, DemoData.class, new
DemoDataListener()).doReadAll();
+ FesodSheet.read(fileName, DemoData.class, new
DemoDataListener()).doReadAll();
// Read some sheets
fileName = TestFileUtil.getPath() + "demo" + File.separator +
"demo.xlsx";
// Method 1
- try (ExcelReader excelReader = FastExcel.read(fileName).build()) {
+ try (ExcelReader excelReader = FesodSheet.read(fileName).build()) {
// For simplicity, the same head and Listener are registered here.
// In actual use, different Listeners must be used.
- ReadSheet readSheet1 = FastExcel.readSheet(0)
+ ReadSheet readSheet1 = FesodSheet.readSheet(0)
.head(DemoData.class)
.registerReadListener(new DemoDataListener())
.build();
- ReadSheet readSheet2 = FastExcel.readSheet(1)
+ ReadSheet readSheet2 = FesodSheet.readSheet(1)
.head(DemoData.class)
.registerReadListener(new DemoDataListener())
.build();
@@ -211,7 +213,7 @@ public class ReadTest {
* 1. Create an entity class corresponding to the Excel data structure.
Refer to {@link ConverterData}.
* Annotations such as {@link DateTimeFormat}, {@link NumberFormat}, or
custom annotations can be used.
* <p>
- * 2. Since FastExcel reads Excel files row by row, you need to create a
callback listener for each row. Refer to {@link ConverterDataListener}.
+ * 2. Since Fesod reads Excel files row by row, you need to create a
callback listener for each row. Refer to {@link ConverterDataListener}.
* <p>
* 3. Directly read the file.
*/
@@ -219,7 +221,7 @@ public class ReadTest {
public void converterRead() {
String fileName = TestFileUtil.getPath() + "demo" + File.separator +
"demo.xlsx";
// Specify the class to read, then read the first sheet
- FastExcel.read(fileName, ConverterData.class, new
ConverterDataListener())
+ FesodSheet.read(fileName, ConverterData.class, new
ConverterDataListener())
// Note: We can also register a custom converter using
`registerConverter`.
// However, this converter will be global, and all fields with
Java type `String` and Excel type
// `String` will use this converter.
@@ -236,7 +238,7 @@ public class ReadTest {
* <p>
* 1. Create an entity class corresponding to the Excel data structure.
Refer to {@link DemoData}.
* <p>
- * 2. Since FastExcel reads Excel files row by row, you need to create a
callback listener for each row. Refer to {@link DemoDataListener}.
+ * 2. Since Fesod reads Excel files row by row, you need to create a
callback listener for each row. Refer to {@link DemoDataListener}.
* <p>
* 3. Set the `headRowNumber` parameter, then read. Note that if
`headRowNumber` is not specified,
* the number of rows will be determined by the number of headers in the
`@ExcelProperty#value()` of the class you provide.
@@ -246,7 +248,7 @@ public class ReadTest {
public void complexHeaderRead() {
String fileName = TestFileUtil.getPath() + "demo" + File.separator +
"demo.xlsx";
// Specify the class to read, then read the first sheet
- FastExcel.read(fileName, DemoData.class, new DemoDataListener())
+ FesodSheet.read(fileName, DemoData.class, new DemoDataListener())
.sheet()
// Set to 1 here because the header is one row. For multi-row
headers, set to other values.
// You can also omit this, as the default behavior will parse
based on DemoData, which does not specify
@@ -265,7 +267,7 @@ public class ReadTest {
* </p>
*
* <p>
- * 2. Since FastExcel reads the Excel file row by row by default, you need
to create a listener that handles each
+ * 2. Since Fesod reads the Excel file row by row by default, you need to
create a listener that handles each
* row's data accordingly. Refer to {@link
DemoCompatibleHeaderDataListener} for implementation details. In this
* listener, you should override the `invokeHead` method to transform the
uploaded headers as needed.
* </p>
@@ -278,7 +280,7 @@ public class ReadTest {
public void compatibleHeaderRead() {
String fileName = TestFileUtil.getPath() + "demo" + File.separator +
"demo.xlsx";
// Specify the class used for reading and choose to read the first
sheet.
- FastExcel.read(fileName, DemoCompatibleHeaderData.class, new
DemoCompatibleHeaderDataListener())
+ FesodSheet.read(fileName, DemoCompatibleHeaderData.class, new
DemoCompatibleHeaderDataListener())
.sheet()
.doRead();
}
@@ -289,7 +291,7 @@ public class ReadTest {
* <p>
* 1. Create an entity object corresponding to the Excel data structure.
Refer to {@link DemoData}.
* <p>
- * 2. Since FastExcel reads Excel files row by row, you need to create a
callback listener for each row. Refer to {@link DemoHeadDataListener}.
+ * 2. Since Fesod reads Excel files row by row, you need to create a
callback listener for each row. Refer to {@link DemoHeadDataListener}.
* <p>
* 3. Directly read the file.
*/
@@ -297,7 +299,7 @@ public class ReadTest {
public void headerRead() {
String fileName = TestFileUtil.getPath() + "demo" + File.separator +
"demo.xlsx";
// Specify the class to read, then read the first sheet
- FastExcel.read(fileName, DemoData.class, new DemoHeadDataListener())
+ FesodSheet.read(fileName, DemoData.class, new DemoHeadDataListener())
.sheet()
.doRead();
}
@@ -311,7 +313,7 @@ public class ReadTest {
* <p>
* 1. Create an entity object corresponding to the Excel data structure.
Refer to {@link DemoExtraData}.
* <p>
- * 2. Since FastExcel reads Excel files row by row by default, you need to
create a callback listener for each row. Refer to {@link DemoExtraListener}.
+ * 2. Since Fesod reads Excel files row by row by default, you need to
create a callback listener for each row. Refer to {@link DemoExtraListener}.
* <p>
* 3. Directly read the file.
*
@@ -321,7 +323,7 @@ public class ReadTest {
public void extraRead() {
String fileName = TestFileUtil.getPath() + "demo" + File.separator +
"extra.xlsx";
// Specify the class to read, then read the first sheet
- FastExcel.read(fileName, DemoExtraData.class, new DemoExtraListener())
+ FesodSheet.read(fileName, DemoExtraData.class, new DemoExtraListener())
// Read comments (default is not to read)
.extraRead(CellExtraTypeEnum.COMMENT)
// Read hyperlinks (default is not to read)
@@ -338,7 +340,7 @@ public class ReadTest {
* <p>
* 1. Create an entity object corresponding to the Excel data structure.
Refer to {@link CellDataReadDemoData}.
* <p>
- * 2. Since FastExcel reads Excel files row by row by default, you need to
create a callback listener for each row. Refer to {@link
CellDataDemoHeadDataListener}.
+ * 2. Since Fesod reads Excel files row by row by default, you need to
create a callback listener for each row. Refer to {@link
CellDataDemoHeadDataListener}.
* <p>
* 3. Directly read the file.
*
@@ -348,7 +350,7 @@ public class ReadTest {
public void cellDataRead() {
String fileName = TestFileUtil.getPath() + "demo" + File.separator +
"cellDataDemo.xlsx";
// Specify the class to read, then read the first sheet
- FastExcel.read(fileName, CellDataReadDemoData.class, new
CellDataDemoHeadDataListener())
+ FesodSheet.read(fileName, CellDataReadDemoData.class, new
CellDataDemoHeadDataListener())
.sheet()
.doRead();
}
@@ -359,7 +361,7 @@ public class ReadTest {
* <p>
* 1. Create an entity object corresponding to the Excel data structure.
Refer to {@link ExceptionDemoData}.
* <p>
- * 2. Since FastExcel reads Excel files row by row by default, you need to
create a callback listener for each row. Refer to {@link DemoExceptionListener}.
+ * 2. Since Fesod reads Excel files row by row by default, you need to
create a callback listener for each row. Refer to {@link DemoExceptionListener}.
* <p>
* 3. Directly read the file.
*/
@@ -367,7 +369,7 @@ public class ReadTest {
public void exceptionRead() {
String fileName = TestFileUtil.getPath() + "demo" + File.separator +
"demo.xlsx";
// Specify the class to read, then read the first sheet
- FastExcel.read(fileName, ExceptionDemoData.class, new
DemoExceptionListener())
+ FesodSheet.read(fileName, ExceptionDemoData.class, new
DemoExceptionListener())
.sheet()
.doRead();
}
@@ -380,14 +382,14 @@ public class ReadTest {
String fileName = TestFileUtil.getPath() + "demo" + File.separator +
"demo.xlsx";
// Specify the class to read, then read the first sheet. Synchronous
reading will automatically finish.
List<DemoData> list =
-
FastExcel.read(fileName).head(DemoData.class).sheet().doReadSync();
+
FesodSheet.read(fileName).head(DemoData.class).sheet().doReadSync();
for (DemoData data : list) {
log.info("Read data:{}", JSON.toJSONString(data));
}
// Alternatively, you can read without specifying a class, returning a
list, then read the first sheet.
// Synchronous reading will automatically finish.
- List<Map<Integer, String>> listMap =
FastExcel.read(fileName).sheet().doReadSync();
+ List<Map<Integer, String>> listMap =
FesodSheet.read(fileName).sheet().doReadSync();
for (Map<Integer, String> data : listMap) {
// Return key-value pairs for each data item, representing the
column index and its value.
log.info("Read data:{}", JSON.toJSONString(data));
@@ -401,7 +403,7 @@ public class ReadTest {
public void noModelRead() {
String fileName = TestFileUtil.getPath() + "demo" + File.separator +
"demo.xlsx";
// Simply read the first sheet. Synchronous reading will automatically
finish.
- FastExcel.read(fileName, new NoModelDataListener()).sheet().doRead();
+ FesodSheet.read(fileName, new NoModelDataListener()).sheet().doRead();
}
/**
@@ -413,7 +415,7 @@ public class ReadTest {
@Test
void asNormalJavaBean() {
String fileName = TestFileUtil.getPath() + "demo" + File.separator
+ "demo.csv";
- try (ExcelReader excelReader = FastExcel.read(fileName,
DemoData.class, new DemoDataListener())
+ try (ExcelReader excelReader = FesodSheet.read(fileName,
DemoData.class, new DemoDataListener())
.build()) {
// Check if it is a CSV file
if (excelReader.analysisContext().readWorkbookHolder()
instanceof CsvReadWorkbookHolder) {
@@ -428,7 +430,7 @@ public class ReadTest {
// Get all sheets
List<ReadSheet> readSheetList =
excelReader.excelExecutor().sheetList();
// If you only want to read the first sheet, you can pass the
parameter accordingly.
- // ReadSheet readSheet = FastExcel.readSheet(0).build();
+ // ReadSheet readSheet = FesodSheet.readSheet(0).build();
excelReader.read(readSheetList);
}
}
@@ -436,7 +438,7 @@ public class ReadTest {
@Test
void asChainedAccessorsJavaBean() {
String fileName = TestFileUtil.getPath() + "demo" + File.separator
+ "demo.csv";
- try (ExcelReader excelReader = FastExcel.read(
+ try (ExcelReader excelReader = FesodSheet.read(
fileName, DemoChainAccessorsData.class, new
ReadListener<DemoChainAccessorsData>() {
@Override
public void invoke(DemoChainAccessorsData
data, AnalysisContext context) {
diff --git
a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/web/FastExcelApplication.java
b/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/web/FesodApplication.java
similarity index 91%
rename from
fesod-examples/src/test/java/org/apache/fesod/sheet/demo/web/FastExcelApplication.java
rename to
fesod-examples/src/test/java/org/apache/fesod/sheet/demo/web/FesodApplication.java
index 95b5ed5b..b20c6553 100644
---
a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/web/FastExcelApplication.java
+++
b/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/web/FesodApplication.java
@@ -23,9 +23,9 @@ import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
-public class FastExcelApplication {
+public class FesodApplication {
public static void main(String[] args) {
- SpringApplication.run(FastExcelApplication.class, args);
+ SpringApplication.run(FesodApplication.class, args);
}
}
diff --git
a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/web/WebTest.java
b/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/web/WebTest.java
index 737d529f..2b99b854 100644
--- a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/web/WebTest.java
+++ b/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/web/WebTest.java
@@ -26,7 +26,7 @@ import java.util.Date;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
-import org.apache.fesod.sheet.FastExcel;
+import org.apache.fesod.sheet.FesodSheet;
import org.apache.fesod.sheet.util.ListUtils;
import org.apache.fesod.sheet.util.MapUtils;
import org.springframework.beans.factory.annotation.Autowired;
@@ -62,11 +62,11 @@ public class WebTest {
// Postman
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setCharacterEncoding("utf-8");
- // Here URLEncoder.encode can prevent Chinese character encoding
issues, which is unrelated to FastExcel
+ // Here URLEncoder.encode can prevent Chinese character encoding
issues, which is unrelated to Fesod
String fileName = URLEncoder.encode("test", "UTF-8").replaceAll("\\+",
"%20");
response.setHeader("Content-disposition",
"attachment;filename*=utf-8''" + fileName + ".xlsx");
- FastExcel.write(response.getOutputStream(), DownloadData.class)
+ FesodSheet.write(response.getOutputStream(), DownloadData.class)
.sheet("Template")
.doWrite(data());
}
@@ -83,11 +83,11 @@ public class WebTest {
try {
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setCharacterEncoding("utf-8");
- // Here URLEncoder.encode can prevent Chinese character encoding
issues, which is unrelated to FastExcel
+ // Here URLEncoder.encode can prevent Chinese character encoding
issues, which is unrelated to Fesod
String fileName = URLEncoder.encode("test",
"UTF-8").replaceAll("\\+", "%20");
response.setHeader("Content-disposition",
"attachment;filename*=utf-8''" + fileName + ".xlsx");
// Here we need to set not to close the stream
- FastExcel.write(response.getOutputStream(), DownloadData.class)
+ FesodSheet.write(response.getOutputStream(), DownloadData.class)
.autoCloseStream(Boolean.FALSE)
.sheet("Template")
.doWrite(data());
@@ -115,7 +115,7 @@ public class WebTest {
@PostMapping("upload")
@ResponseBody
public String upload(MultipartFile file) throws IOException {
- FastExcel.read(file.getInputStream(), UploadData.class, new
UploadDataListener(uploadDAO))
+ FesodSheet.read(file.getInputStream(), UploadData.class, new
UploadDataListener(uploadDAO))
.sheet()
.doRead();
return "success";
diff --git
a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/EscapeHexCellWriteHandlerTest.java
b/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/EscapeHexCellWriteHandlerTest.java
index db297a6a..0d5d266e 100644
---
a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/EscapeHexCellWriteHandlerTest.java
+++
b/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/EscapeHexCellWriteHandlerTest.java
@@ -26,7 +26,7 @@ import java.nio.file.Path;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
-import org.apache.fesod.sheet.FastExcel;
+import org.apache.fesod.sheet.FesodSheet;
import org.apache.fesod.sheet.support.ExcelTypeEnum;
import org.apache.fesod.sheet.write.handler.EscapeHexCellWriteHandler;
import org.apache.poi.ss.usermodel.Cell;
@@ -57,7 +57,7 @@ public class EscapeHexCellWriteHandlerTest {
list.add(createDemoData("_xB9f0_"));
File file = tempDir.resolve("testEscapeHex.xlsx").toFile();
- FastExcel.write(file, DemoData.class)
+ FesodSheet.write(file, DemoData.class)
.registerWriteHandler(new EscapeHexCellWriteHandler())
.sheet("TestSheet")
.doWrite(list);
@@ -79,7 +79,7 @@ public class EscapeHexCellWriteHandlerTest {
list.add(createDemoData("_xB9f0_"));
File file = tempDir.resolve("testEscapeHex.xls").toFile();
- FastExcel.write(file, DemoData.class)
+ FesodSheet.write(file, DemoData.class)
.excelType(ExcelTypeEnum.XLS)
.registerWriteHandler(new EscapeHexCellWriteHandler())
.sheet("TestSheet")
@@ -101,7 +101,7 @@ public class EscapeHexCellWriteHandlerTest {
list.add(createDemoData("_xB9f0_"));
File file = tempDir.resolve("testEscapeHex.csv").toFile();
- FastExcel.write(file, DemoData.class)
+ FesodSheet.write(file, DemoData.class)
.excelType(ExcelTypeEnum.CSV)
.registerWriteHandler(new EscapeHexCellWriteHandler())
.sheet("TestSheet")
@@ -124,7 +124,7 @@ public class EscapeHexCellWriteHandlerTest {
list.add(createDemoData("_xB9f0_ and _x1234_ and _xABCD_"));
File file = tempDir.resolve("testMultipleHex.xlsx").toFile();
- FastExcel.write(file, DemoData.class)
+ FesodSheet.write(file, DemoData.class)
.registerWriteHandler(new EscapeHexCellWriteHandler())
.sheet("TestSheet")
.doWrite(list);
@@ -144,7 +144,7 @@ public class EscapeHexCellWriteHandlerTest {
list.add(createDemoData("normalString"));
File file = tempDir.resolve("testNoHex.xlsx").toFile();
- FastExcel.write(file, DemoData.class)
+ FesodSheet.write(file, DemoData.class)
.registerWriteHandler(new EscapeHexCellWriteHandler())
.sheet("TestSheet")
.doWrite(list);
@@ -163,7 +163,7 @@ public class EscapeHexCellWriteHandlerTest {
list.add(createDemoData("_x123_ _xABC_ _x12345_")); // Invalid patterns
File file = tempDir.resolve("testPartialHex.xlsx").toFile();
- FastExcel.write(file, DemoData.class)
+ FesodSheet.write(file, DemoData.class)
.registerWriteHandler(new EscapeHexCellWriteHandler())
.sheet("TestSheet")
.doWrite(list);
@@ -183,7 +183,7 @@ public class EscapeHexCellWriteHandlerTest {
list.add(createDemoData("_x1234_ _x123_ _xABCD_ _xGHIJ_"));
File file = tempDir.resolve("testMixedHex.xlsx").toFile();
- FastExcel.write(file, DemoData.class)
+ FesodSheet.write(file, DemoData.class)
.registerWriteHandler(new EscapeHexCellWriteHandler())
.sheet("TestSheet")
.doWrite(list);
@@ -206,7 +206,7 @@ public class EscapeHexCellWriteHandlerTest {
list.add(data2);
File file = tempDir.resolve("testEmptyNull.xlsx").toFile();
- FastExcel.write(file, DemoData.class)
+ FesodSheet.write(file, DemoData.class)
.registerWriteHandler(new EscapeHexCellWriteHandler())
.sheet("TestSheet")
.doWrite(list);
@@ -234,7 +234,7 @@ public class EscapeHexCellWriteHandlerTest {
list.add(createDemoData("_x1a2B_ _XC3d4_ _x9F8e_"));
File file = tempDir.resolve("testCaseInsensitive.xlsx").toFile();
- FastExcel.write(file, DemoData.class)
+ FesodSheet.write(file, DemoData.class)
.registerWriteHandler(new EscapeHexCellWriteHandler())
.sheet("TestSheet")
.doWrite(list);
@@ -256,14 +256,14 @@ public class EscapeHexCellWriteHandlerTest {
// Test xlsx
File xlsxFile = tempDir.resolve("testFormats.xlsx").toFile();
- FastExcel.write(xlsxFile, DemoData.class)
+ FesodSheet.write(xlsxFile, DemoData.class)
.registerWriteHandler(new EscapeHexCellWriteHandler())
.sheet("TestSheet")
.doWrite(list);
// Test xls
File xlsFile = tempDir.resolve("testFormats.xls").toFile();
- FastExcel.write(xlsFile, DemoData.class)
+ FesodSheet.write(xlsFile, DemoData.class)
.excelType(ExcelTypeEnum.XLS)
.registerWriteHandler(new EscapeHexCellWriteHandler())
.sheet("TestSheet")
@@ -271,7 +271,7 @@ public class EscapeHexCellWriteHandlerTest {
// Test csv
File csvFile = tempDir.resolve("testFormats.csv").toFile();
- FastExcel.write(csvFile, DemoData.class)
+ FesodSheet.write(csvFile, DemoData.class)
.excelType(ExcelTypeEnum.CSV)
.registerWriteHandler(new EscapeHexCellWriteHandler())
.sheet("TestSheet")
diff --git
a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/WriteTest.java
b/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/WriteTest.java
index 504bcffd..a8421cb2 100644
---
a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/WriteTest.java
+++
b/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/WriteTest.java
@@ -28,7 +28,7 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.apache.fesod.sheet.ExcelWriter;
-import org.apache.fesod.sheet.FastExcel;
+import org.apache.fesod.sheet.FesodSheet;
import org.apache.fesod.sheet.annotation.ExcelProperty;
import org.apache.fesod.sheet.annotation.format.DateTimeFormat;
import org.apache.fesod.sheet.annotation.format.NumberFormat;
@@ -91,7 +91,7 @@ public class WriteTest {
String fileName = TestFileUtil.getPath() + "simpleWrite" +
System.currentTimeMillis() + ".xlsx";
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
// 如果这里想使用03 则 传入excelType参数即可
- FastExcel.write(fileName, DemoData.class).sheet("模板").doWrite(() -> {
+ FesodSheet.write(fileName, DemoData.class).sheet("模板").doWrite(() -> {
// 分页查询数据
return data();
});
@@ -100,13 +100,14 @@ public class WriteTest {
fileName = TestFileUtil.getPath() + "simpleWrite" +
System.currentTimeMillis() + ".xlsx";
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
// 如果这里想使用03 则 传入excelType参数即可
- FastExcel.write(fileName, DemoData.class).sheet("模板").doWrite(data());
+ FesodSheet.write(fileName, DemoData.class).sheet("模板").doWrite(data());
// 写法3
fileName = TestFileUtil.getPath() + "simpleWrite" +
System.currentTimeMillis() + ".xlsx";
// 这里 需要指定写用哪个class去写
- try (ExcelWriter excelWriter = FastExcel.write(fileName,
DemoData.class).build()) {
- WriteSheet writeSheet = FastExcel.writerSheet("模板").build();
+ try (ExcelWriter excelWriter =
+ FesodSheet.write(fileName, DemoData.class).build()) {
+ WriteSheet writeSheet = FesodSheet.writerSheet("模板").build();
excelWriter.write(data(), writeSheet);
}
}
@@ -114,7 +115,7 @@ public class WriteTest {
@Test
public void testEscapeHex() {
String fileName = TestFileUtil.getPath() + "simpleWrite" +
System.currentTimeMillis() + ".xlsx";
- FastExcel.write(fileName, DemoData.class)
+ FesodSheet.write(fileName, DemoData.class)
.sheet("template")
.registerWriteHandler(new EscapeHexCellWriteHandler())
.doWrite(() -> {
@@ -142,7 +143,7 @@ public class WriteTest {
Set<String> excludeColumnFieldNames = new HashSet<>();
excludeColumnFieldNames.add("date");
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
- FastExcel.write(fileName, DemoData.class)
+ FesodSheet.write(fileName, DemoData.class)
.excludeColumnFieldNames(excludeColumnFieldNames)
.sheet("模板")
.doWrite(data());
@@ -152,7 +153,7 @@ public class WriteTest {
Set<String> includeColumnFieldNames = new HashSet<>();
includeColumnFieldNames.add("date");
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
- FastExcel.write(fileName, DemoData.class)
+ FesodSheet.write(fileName, DemoData.class)
.includeColumnFieldNames(includeColumnFieldNames)
.sheet("模板")
.doWrite(data());
@@ -171,7 +172,7 @@ public class WriteTest {
public void indexWrite() {
String fileName = TestFileUtil.getPath() + "indexWrite" +
System.currentTimeMillis() + ".xlsx";
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
- FastExcel.write(fileName, IndexData.class).sheet("模板").doWrite(data());
+ FesodSheet.write(fileName,
IndexData.class).sheet("模板").doWrite(data());
}
/**
@@ -187,7 +188,7 @@ public class WriteTest {
public void complexHeadWrite() {
String fileName = TestFileUtil.getPath() + "complexHeadWrite" +
System.currentTimeMillis() + ".xlsx";
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
- FastExcel.write(fileName,
ComplexHeadData.class).sheet("模板").doWrite(data());
+ FesodSheet.write(fileName,
ComplexHeadData.class).sheet("模板").doWrite(data());
}
/**
@@ -204,9 +205,10 @@ public class WriteTest {
// 方法1: 如果写到同一个sheet
String fileName = TestFileUtil.getPath() + "repeatedWrite" +
System.currentTimeMillis() + ".xlsx";
// 这里 需要指定写用哪个class去写
- try (ExcelWriter excelWriter = FastExcel.write(fileName,
DemoData.class).build()) {
+ try (ExcelWriter excelWriter =
+ FesodSheet.write(fileName, DemoData.class).build()) {
// 这里注意 如果同一个sheet只要创建一次
- WriteSheet writeSheet = FastExcel.writerSheet("模板").build();
+ WriteSheet writeSheet = FesodSheet.writerSheet("模板").build();
// 去调用写入,这里我调用了五次,实际使用时根据数据库分页的总的页数来
for (int i = 0; i < 5; i++) {
// 分页去数据库查询数据 这里可以去数据库查询每一页的数据
@@ -218,11 +220,12 @@ public class WriteTest {
// 方法2: 如果写到不同的sheet 同一个对象
fileName = TestFileUtil.getPath() + "repeatedWrite" +
System.currentTimeMillis() + ".xlsx";
// 这里 指定文件
- try (ExcelWriter excelWriter = FastExcel.write(fileName,
DemoData.class).build()) {
+ try (ExcelWriter excelWriter =
+ FesodSheet.write(fileName, DemoData.class).build()) {
// 去调用写入,这里我调用了五次,实际使用时根据数据库分页的总的页数来。这里最终会写到5个sheet里面
for (int i = 0; i < 5; i++) {
// 每次都要创建writeSheet 这里注意必须指定sheetNo 而且sheetName必须不一样
- WriteSheet writeSheet = FastExcel.writerSheet(i, "模板" +
i).build();
+ WriteSheet writeSheet = FesodSheet.writerSheet(i, "模板" +
i).build();
// 分页去数据库查询数据 这里可以去数据库查询每一页的数据
List<DemoData> data = data();
excelWriter.write(data, writeSheet);
@@ -232,13 +235,13 @@ public class WriteTest {
// 方法3 如果写到不同的sheet 不同的对象
fileName = TestFileUtil.getPath() + "repeatedWrite" +
System.currentTimeMillis() + ".xlsx";
// 这里 指定文件
- try (ExcelWriter excelWriter = FastExcel.write(fileName).build()) {
+ try (ExcelWriter excelWriter = FesodSheet.write(fileName).build()) {
// 去调用写入,这里我调用了五次,实际使用时根据数据库分页的总的页数来。这里最终会写到5个sheet里面
for (int i = 0; i < 5; i++) {
// 每次都要创建writeSheet 这里注意必须指定sheetNo
而且sheetName必须不一样。这里注意DemoData.class 可以每次都变,我这里为了方便 所以用的同一个class
// 实际上可以一直变
WriteSheet writeSheet =
- FastExcel.writerSheet(i, "模板" +
i).head(DemoData.class).build();
+ FesodSheet.writerSheet(i, "模板" +
i).head(DemoData.class).build();
// 分页去数据库查询数据 这里可以去数据库查询每一页的数据
List<DemoData> data = data();
excelWriter.write(data, writeSheet);
@@ -259,7 +262,7 @@ public class WriteTest {
public void converterWrite() {
String fileName = TestFileUtil.getPath() + "converterWrite" +
System.currentTimeMillis() + ".xlsx";
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
- FastExcel.write(fileName,
ConverterData.class).sheet("模板").doWrite(data());
+ FesodSheet.write(fileName,
ConverterData.class).sheet("模板").doWrite(data());
}
/**
@@ -337,10 +340,10 @@ public class WriteTest {
imageData.setRelativeLastColumnIndex(1);
// 写入数据
- FastExcel.write(fileName,
ImageDemoData.class).sheet().doWrite(list);
+ FesodSheet.write(fileName,
ImageDemoData.class).sheet().doWrite(list);
// 如果图片资源不可访问,XLSX格式会报错 SXSSFWorkbook - Failed to dispose sheet
// 也可以考虑声明为XLS格式
- // FastExcel.write(fileName,
ImageDemoData.class).excelType(ExcelTypeEnum.XLS).sheet().doWrite(list);
+ // FesodSheet.write(fileName,
ImageDemoData.class).excelType(ExcelTypeEnum.XLS).sheet().doWrite(list);
}
}
@@ -416,7 +419,7 @@ public class WriteTest {
List<WriteCellDemoData> data = new ArrayList<>();
data.add(writeCellDemoData);
- FastExcel.write(fileName, WriteCellDemoData.class)
+ FesodSheet.write(fileName, WriteCellDemoData.class)
.inMemory(true)
.sheet("模板")
.doWrite(data);
@@ -440,7 +443,7 @@ public class WriteTest {
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
// 这里要注意 withTemplate 的模板文件会全量存储在内存里面,所以尽量不要用于追加文件,如果文件模板文件过大会OOM
// 如果要再文件中追加(无法在一个线程里面处理,可以在一个线程的建议参照多次写入的demo) 建议临时存储到数据库 或者
磁盘缓存(ehcache) 然后再一次性写入
- FastExcel.write(fileName, DemoData.class)
+ FesodSheet.write(fileName, DemoData.class)
.withTemplate(templateFileName)
.sheet()
.doWrite(data());
@@ -459,7 +462,7 @@ public class WriteTest {
public void widthAndHeightWrite() {
String fileName = TestFileUtil.getPath() + "widthAndHeightWrite" +
System.currentTimeMillis() + ".xlsx";
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
- FastExcel.write(fileName,
WidthAndHeightData.class).sheet("模板").doWrite(data());
+ FesodSheet.write(fileName,
WidthAndHeightData.class).sheet("模板").doWrite(data());
}
/**
@@ -475,7 +478,7 @@ public class WriteTest {
public void annotationStyleWrite() {
String fileName = TestFileUtil.getPath() + "annotationStyleWrite" +
System.currentTimeMillis() + ".xlsx";
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
- FastExcel.write(fileName,
DemoStyleData.class).sheet("模板").doWrite(data());
+ FesodSheet.write(fileName,
DemoStyleData.class).sheet("模板").doWrite(data());
}
/**
@@ -515,7 +518,7 @@ public class WriteTest {
new HorizontalCellStyleStrategy(headWriteCellStyle,
contentWriteCellStyle);
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
- FastExcel.write(fileName, DemoData.class)
+ FesodSheet.write(fileName, DemoData.class)
.registerWriteHandler(horizontalCellStyleStrategy)
.sheet("模板")
.doWrite(data());
@@ -523,7 +526,7 @@ public class WriteTest {
// 方法2: 使用FastExcel的方式完全自己写 不太推荐 尽量使用已有策略
// @since 3.0.0-beta2
fileName = TestFileUtil.getPath() + "handlerStyleWrite" +
System.currentTimeMillis() + ".xlsx";
- FastExcel.write(fileName, DemoData.class)
+ FesodSheet.write(fileName, DemoData.class)
.registerWriteHandler(new CellWriteHandler() {
@Override
public void afterCellDispose(CellWriteHandlerContext
context) {
@@ -554,7 +557,7 @@ public class WriteTest {
// 坑1:style里面有dataformat 用来格式化数据的 所以自己设置可能导致格式化注解不生效
// 坑2:不要一直去创建style 记得缓存起来 最多创建6W个就挂了
fileName = TestFileUtil.getPath() + "handlerStyleWrite" +
System.currentTimeMillis() + ".xlsx";
- FastExcel.write(fileName, DemoData.class)
+ FesodSheet.write(fileName, DemoData.class)
.registerWriteHandler(new CellWriteHandler() {
@Override
public void afterCellDispose(CellWriteHandlerContext
context) {
@@ -601,14 +604,14 @@ public class WriteTest {
String fileName = TestFileUtil.getPath() + "mergeWrite" +
System.currentTimeMillis() + ".xlsx";
// 在DemoStyleData里面加上ContentLoopMerge注解
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
- FastExcel.write(fileName,
DemoMergeData.class).sheet("模板").doWrite(data());
+ FesodSheet.write(fileName,
DemoMergeData.class).sheet("模板").doWrite(data());
// 方法2 自定义合并单元格策略
fileName = TestFileUtil.getPath() + "mergeWrite" +
System.currentTimeMillis() + ".xlsx";
// 每隔2行会合并 把eachColumn 设置成 3 也就是我们数据的长度,所以就第一列会合并。当然其他合并策略也可以自己写
LoopMergeStrategy loopMergeStrategy = new LoopMergeStrategy(2, 0);
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
- FastExcel.write(fileName, DemoData.class)
+ FesodSheet.write(fileName, DemoData.class)
.registerWriteHandler(loopMergeStrategy)
.sheet("模板")
.doWrite(data());
@@ -626,15 +629,16 @@ public class WriteTest {
String fileName = TestFileUtil.getPath() + "tableWrite" +
System.currentTimeMillis() + ".xlsx";
// 方法1 这里直接写多个table的案例了,如果只有一个 也可以直一行代码搞定,参照其他案
// 这里 需要指定写用哪个class去写
- try (ExcelWriter excelWriter = FastExcel.write(fileName,
DemoData.class).build()) {
+ try (ExcelWriter excelWriter =
+ FesodSheet.write(fileName, DemoData.class).build()) {
// 把sheet设置为不需要头 不然会输出sheet的头 这样看起来第一个table 就有2个头了
WriteSheet writeSheet =
-
FastExcel.writerSheet("模板").needHead(Boolean.FALSE).build();
+
FesodSheet.writerSheet("模板").needHead(Boolean.FALSE).build();
// 这里必须指定需要头,table 会继承sheet的配置,sheet配置了不需要,table 默认也是不需要
WriteTable writeTable0 =
- FastExcel.writerTable(0).needHead(Boolean.TRUE).build();
+ FesodSheet.writerTable(0).needHead(Boolean.TRUE).build();
WriteTable writeTable1 =
- FastExcel.writerTable(1).needHead(Boolean.TRUE).build();
+ FesodSheet.writerTable(1).needHead(Boolean.TRUE).build();
// 第一次写入会创建头
excelWriter.write(data(), writeSheet, writeTable0);
// 第二次写如也会创建头,然后在第一次的后面写入数据
@@ -655,7 +659,7 @@ public class WriteTest {
@Test
public void dynamicHeadWrite() {
String fileName = TestFileUtil.getPath() + "dynamicHeadWrite" +
System.currentTimeMillis() + ".xlsx";
- FastExcel.write(fileName)
+ FesodSheet.write(fileName)
// 这里放入动态头
.head(head())
.sheet("模板")
@@ -683,7 +687,7 @@ public class WriteTest {
String fileName =
TestFileUtil.getPath() + "longestMatchColumnWidthWrite" +
System.currentTimeMillis() + ".xlsx";
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
- FastExcel.write(fileName, LongestMatchColumnWidthData.class)
+ FesodSheet.write(fileName, LongestMatchColumnWidthData.class)
.registerWriteHandler(new
LongestMatchColumnWidthStyleStrategy())
.sheet("模板")
.doWrite(dataLong());
@@ -704,7 +708,7 @@ public class WriteTest {
public void customHandlerWrite() {
String fileName = TestFileUtil.getPath() + "customHandlerWrite" +
System.currentTimeMillis() + ".xlsx";
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
- FastExcel.write(fileName, DemoData.class)
+ FesodSheet.write(fileName, DemoData.class)
.registerWriteHandler(new CustomSheetWriteHandler())
.registerWriteHandler(new CustomCellWriteHandler())
.sheet("模板")
@@ -725,7 +729,7 @@ public class WriteTest {
String fileName = TestFileUtil.getPath() + "commentWrite" +
System.currentTimeMillis() + ".xlsx";
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
// 这里要注意inMemory 要设置为true,才能支持批注。目前没有好的办法解决 不在内存处理批注。这个需要自己选择。
- FastExcel.write(fileName, DemoData.class)
+ FesodSheet.write(fileName, DemoData.class)
.inMemory(Boolean.TRUE)
.registerWriteHandler(new CommentWriteHandler())
.sheet("模板")
@@ -746,7 +750,7 @@ public class WriteTest {
// 写法1
String fileName = TestFileUtil.getPath() + "variableTitleWrite" +
System.currentTimeMillis() + ".xlsx";
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
- FastExcel.write(fileName, ConverterData.class)
+ FesodSheet.write(fileName, ConverterData.class)
.head(variableTitleHead())
.sheet("模板")
.doWrite(data());
@@ -760,13 +764,13 @@ public class WriteTest {
// 写法1
String fileName = TestFileUtil.getPath() + "noModelWrite" +
System.currentTimeMillis() + ".xlsx";
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,名字为模板 然后文件流会自动关闭
- FastExcel.write(fileName).head(head()).sheet("模板").doWrite(dataList());
+
FesodSheet.write(fileName).head(head()).sheet("模板").doWrite(dataList());
}
@Test
public void sheetDisposeTest() {
String fileName = TestFileUtil.getPath() + "simpleWrite" +
System.currentTimeMillis() + ".xlsx";
- FastExcel.write(fileName, DemoData.class)
+ FesodSheet.write(fileName, DemoData.class)
.sheet("模板")
.registerWriteHandler(new SheetWriteHandler() {
@Override
diff --git
a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/WriteWithColorTest.java
b/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/WriteWithColorTest.java
index 8b596611..463ca905 100644
---
a/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/WriteWithColorTest.java
+++
b/fesod-examples/src/test/java/org/apache/fesod/sheet/demo/write/WriteWithColorTest.java
@@ -21,7 +21,7 @@ package org.apache.fesod.sheet.demo.write;
import java.util.LinkedList;
import java.util.List;
-import org.apache.fesod.sheet.FastExcel;
+import org.apache.fesod.sheet.FesodSheet;
import org.apache.fesod.sheet.util.TestFileUtil;
import org.junit.jupiter.api.Test;
@@ -34,7 +34,7 @@ public class WriteWithColorTest {
@Test
public void write() {
String fileName = TestFileUtil.getPath() + "simpleWrite" +
System.currentTimeMillis() + ".xlsx";
- FastExcel.write(fileName,
ColorDemoData.class).sheet("模板").doWrite(this::data);
+ FesodSheet.write(fileName,
ColorDemoData.class).sheet("模板").doWrite(this::data);
System.out.println(fileName);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]