[]
        
(Showing Draft Content)

导入和导出带分隔符的CSV文件

GcExcel Java 支持打开和保存CSV文件,并为行、单元格和列提供自定义分隔符。用户可以使用自己选择的任何自定义字符作为分隔符。例如-逗号(,)、分号(;)、引号(,')、大括号((),{})、管道(|)、斜杠(/\)、克拉(^)、管道(|)、制表符(\t)等。

用户可以根据自己的自定义要求和首选项,在CSV文件中导入和导出以下三种类型的自定义分隔符。所有这些类型的分隔符都是独立工作的,不能相互组合。

  1. 列分隔符-这些分隔符分隔工作表的列。默认情况下,列分隔符是字符串类型。用户可以使用下表中的选项获取或设置列分隔符。

    设置

    描述

    getColumnSeparator

    setColumnSeparator

    这些方法可用于在打开CSV文件时获取或设置列分隔符。

    getColumnSeparator

    setColumnSeparator

    这些方法可用于在保存CSV文件时获取或设置列分隔符。

  2. 行分隔符-这些分隔符分隔工作表中的行。默认情况下,行分隔符是字符串类型。用户可以使用下表中的选项获取或设置行分隔符。

    设置

    描述

    getRowSeparator

    setRowSeparator

    这些方法可用于在打开CSV文件时获取或设置行分隔符。

    getRowSeparator

    setRowSeparator

    这些方法可用于在保存CSV文件时获取或设置行分隔符。

  3. 单元格分隔符-这些分隔工作表单元格的分隔符。默认情况下,单元格分隔符为char类型。用户可以使用下表中的选项获取或设置单元格分隔符。

    设置

    描述

    getCellSeparator

    setCellSeparator

    这些方法可用于在打开CSV文件时获取或设置单元格分隔符。

    getCellSeparator

    setCellSeparator

    这些方法可用于在保存CSV文件时获取或设置单元格分隔符。

用例代码

请参阅以下示例代码,以便使用 CsvOpenOptions 类导入和导出带分隔符的CSV文件。

// Initialize workbook
Workbook workbook = new Workbook();
        
// Setting ColumnSeparator, RowSeparator & CellOperator in CsvOpenOptions
CsvOpenOptions openOption = new CsvOpenOptions();
openOption.setColumnSeparator(",");
openOption.setRowSeparator("\r\n");
openOption.setCellSeparator('"');

// Opening csv in workbook
workbook.open("test.csv", openOption);

// Saving workbook to csv
workbook.save("OpenCSVDelimeterRowColumnCell.csv");

参阅以下示例代码,以便使用 CsvSaveOptions 类导入和导出带有分隔符的CSV文件。

// Initialize workbook
Workbook workbook = new Workbook();
        
// Fetch default worksheet
IWorksheet worksheet = workbook.getWorksheets().get(0);
Object data = new Object[][] { 
{ "Name", "City", "Birthday", "Sex", "Weight", "Height" },
{ "Bob", "NewYork", new GregorianCalendar(1968, 6, 8), "male", 80, 180 },
{ "Betty", "NewYork", new GregorianCalendar(1972, 7, 3), "female", 72, 168 },
{ "Gary", "NewYork", new GregorianCalendar(1964, 3, 2), "male", 71, 179 },
{ "Hunk", "Washington", new GregorianCalendar(1972, 8, 8), "male", 80, 171 },
{ "Cherry", "Washington", new GregorianCalendar(1986, 2, 2), "female", 58, 161 },
{ "Eva", "Washington", new GregorianCalendar(1993, 2, 5), "female", 71, 180 } };

// Set data
worksheet.getRange("A1:F5").setValue(data);
worksheet.getRange("A:F").setColumnWidth(20);

// Setting ColumnSeparator/ RowSeparator & CellOperator in CSVSaveOptions
CsvSaveOptions saveOption = new CsvSaveOptions();
saveOption.setColumnSeparator(",");
saveOption.setRowSeparator("\r\n");
saveOption.setCellSeparator('"');

// Saving workbook to csv
workbook.save("SaveCSVDelimiter.csv", saveOption);