easyexcel icon indicating copy to clipboard operation
easyexcel copied to clipboard

写csv文件设置分隔符

Open hbxfhx opened this issue 2 years ago • 2 comments

官网上搜索csv相关,只查到读取时设置分隔符。 请问是否支持写csv文件设置分隔符?如果支持,如何调用?

hbxfhx avatar Nov 29 '23 10:11 hbxfhx

#2559 看这个issue应该是还不支持,你可以自定义writeHandler,下面是我写的

public class CustomDelimiterHandler implements RowWriteHandler {
    private char delimiter;

    public CustomDelimiterHandler(char delimiter) {
        this.delimiter = delimiter;
    }
    public void beforeRowCreate(RowWriteHandlerContext context) {
        Workbook workbook = context.getWriteWorkbookHolder().getWorkbook();
        if (workbook instanceof CsvWorkbook) {
            CsvWorkbook csvWorkbook = (CsvWorkbook) workbook;
            CsvSheet csvSheet = csvWorkbook.getCsvSheet();
            csvSheet.setCsvFormat(csvSheet.getCsvFormat().withDelimiter(delimiter));
        }
    }
}

chlch avatar Nov 30 '23 07:11 chlch

The latest version of FastExcel will support this feature. Please take a look at this FastExcel-PR-353.

delei avatar Jul 17 '25 14:07 delei