[]
使用此类可以配置 CSV 导出设置,例如列、行和单元格分隔符、文本编码、值加引号,以及是否裁剪前导空白行和列。保存 CSV 内容时,可以将此类的实例传递给 Workbook.save(String,SaveOptionsBase)。
worksheet.getRange("A1:B2").setValue(new Object[][] {
{"Name", "Value"},
{"Test", 100}
});
CsvSaveOptions options = new CsvSaveOptions();
options.setColumnSeparator(";");
options.setRowSeparator("\r\n");
options.setCellSeparator('"');
options.setValueQuoteType(ValueQuoteType.Always);
workbook.save("path/to/output.csv", options);
final charfinal Stringfinal Stringfinal booleanfinal int[]final Stringfinal Stringfinal booleanfinal ValueQuoteTypefinal voidsetCellSeparator(char value) final voidsetColumnSeparator(String value) final voidsetEncoding(String value) final voidsetEscapeFormulaLikeValues(boolean value) final voidsetQuoteColumns(int[] value) final voidsetRowSeparator(String value) final voidsetSeparatorString(String value) getColumnSeparator() instead.final voidsetTrimLeadingBlankRowAndColumn(boolean value) final voidsetValueQuoteType(ValueQuoteType value) toString()getFileFormat, setFileFormat此构造函数初始化选项对象以使用 SaveFileFormat.Csv。将选项传递给工作簿保存 API 前,请配置 CSV 特定设置。
worksheet.getRange("A1:B2").setValue(new Object[][] {
{"Name", "Value"},
{"Test", 100}
});
CsvSaveOptions options = new CsvSaveOptions();
options.setColumnSeparator(";");
options.setRowSeparator("\r\n");
options.setCellSeparator('"');
options.setValueQuoteType(ValueQuoteType.Always);
workbook.save("path/to/output.csv", options);
列分隔符决定导出的 CSV 内容中列之间的值如何分隔。使用 setColumnSeparator(String) 可在保存前更改分隔符。
CsvSaveOptions options = new CsvSaveOptions();
options.setColumnSeparator(";");
String separator = options.getColumnSeparator();
workbook.save("path/to/output.csv", options);
CsvSaveOptions options = new CsvSaveOptions();
options.setColumnSeparator(";");
workbook.save("path/to/output.csv", options);
value - 当前列分隔符字符串。返回将工作簿保存为 CSV 文件时用于分隔行的字符串。
CsvSaveOptions options = new CsvSaveOptions();
options.setRowSeparator("\r\n");
String separator = options.getRowSeparator();
workbook.save("path/to/output.csv", options);
设置将工作簿保存为 CSV 文件时用于分隔行的字符串。
CsvSaveOptions options = new CsvSaveOptions();
options.setRowSeparator("\r\n");
workbook.save("path/to/output.csv", options);
value - 行分隔符字符串。此字符用于在导出的 CSV 数据中括起单元格文本。默认值为 '\"'。
CsvSaveOptions options = new CsvSaveOptions();
options.setCellSeparator('\'');
char cellSeparator = options.getCellSeparator();
workbook.save("path/to/output.csv", options);
此字符用于在导出的 CSV 数据中括起单元格文本。默认值为 '\"'。
CsvSaveOptions options = new CsvSaveOptions();
options.setCellSeparator('\'');
workbook.save("path/to/output.csv", options);
value - 用于 CSV 导出的单元格分隔符字符。getColumnSeparator() instead.此方法已弃用,并设置与 getColumnSeparator() 相同的值。默认情况下,分隔符为逗号。
value - 列分隔符字符串。getColumnSeparator() instead.此方法已弃用,并返回与 getColumnSeparator() 相同的值。默认情况下,分隔符为逗号。
默认编码为 utf-8。
CsvSaveOptions options = new CsvSaveOptions();
options.setEncoding("UTF-16");
String encoding = options.getEncoding();
workbook.save("path/to/output.csv", options);
默认编码为 utf-8。
CsvSaveOptions options = new CsvSaveOptions();
options.setEncoding("UTF-16");
workbook.save("path/to/output.csv", options);
value - 默认编码名称。此选项控制保存 CSV 内容时使用的加引号行为。如果设置了 getQuoteColumns(),则忽略此设置。
CsvSaveOptions options = new CsvSaveOptions();
options.setValueQuoteType(ValueQuoteType.Always);
ValueQuoteType quoteType = options.getValueQuoteType();
workbook.save("path/to/output.csv", options);
使用此属性可以控制 CSV 导出的加引号行为,例如为所有值加引号、仅为包含特殊字符的值加引号,或不为值加引号。如果设置了 getQuoteColumns(),则导出期间会忽略此设置。
CsvSaveOptions options = new CsvSaveOptions();
options.setValueQuoteType(ValueQuoteType.Normal);
workbook.save("path/to/output.csv", options);
value - 要应用的值加引号模式。如果设置了 getQuoteColumns(),则在 CSV 导出期间忽略此值。未指定 null 行为。此属性指示 CSV 导出期间是否像 Microsoft Excel 一样裁剪前导空白行和列。默认值为 true。
CsvSaveOptions options = new CsvSaveOptions();
options.setTrimLeadingBlankRowAndColumn(false);
boolean trim = options.getTrimLeadingBlankRowAndColumn();
workbook.save("path/to/output.csv", options);
true;否则为false。此属性指示 CSV 导出期间是否像 Microsoft Excel 一样裁剪前导空白行和列。默认值为 true。
CsvSaveOptions options = new CsvSaveOptions();
options.setTrimLeadingBlankRowAndColumn(false);
workbook.save("path/to/output.csv", options);
value - 如果在 CSV 导出期间裁剪前导空白行和列,则为 true;否则为false。如果此属性设置为 true,则以 =、+、-、@、其全角变体、制表符、回车符或换行符开头的值将写入前导单引号。默认值为 false。
示例:
。
CsvSaveOptions options = new CsvSaveOptions();
options.setEscapeFormulaLikeValues(true);
boolean escape = options.getEscapeFormulaLikeValues();
workbook.save("path/to/output.csv", options);
true;否则为 false。如果此属性设置为 true,则以 =、+、-、@、其全角变体、制表符、回车符或换行符开头的值将写入前导单引号。默认值为 false。
示例:
。
CsvSaveOptions options = new CsvSaveOptions();
options.setEscapeFormulaLikeValues(true);
workbook.save("path/to/output.csv", options);
value - 如果在导出时转义类似公式的 CSV 值,则为 true;否则为 false。
CsvSaveOptions options = new CsvSaveOptions();
options.setQuoteColumns(new int[] { 1, 3, 4 });
workbook.save("path/to/output.csv", options);
value - 要加引号的从零开始的列索引数组;如果未配置特定列,则为 null。使用 setQuoteColumns(int[]) 时,只有指定的列会被强制使用单元格分隔符作为引号,而其他列只有在 CSV 内容要求时才会加引号。无效的列索引会保留在此数组中,但在导出期间不起作用。
CsvSaveOptions options = new CsvSaveOptions();
options.setQuoteColumns(new int[] { 1, 3, 4 });
int[] quoteColumns = options.getQuoteColumns();
workbook.save("path/to/output.csv", options);
null。
getColumnSeparator()instead.