[]
许多组织在 Excel 文件中维护其产品库存、招聘职位、价目表等。然而,将此类数据发布在网站上以便与相关客户共享非常方便。因此,在这种情况下,导出为 HTML 文件成为一项重要功能。
GcExcel 允许用户将工作簿、工作表或任何特定区域导出为 HTML 文件。默认情况下,它会导出一个 HTML 文件和一个包含其他文件的文件夹。这些其他文件可以是工作表中的图像、工作簿中其他工作表的 htm 文件,或者是用于设置 HTML 文件样式的 css 文件。不过,在导出工作表或工作表的任何区域时,也可以导出单个 HTML 文件。
通过 HtmlSaveOptions 类中的各种选项,可以以多种方式控制导出的内容,例如导出标题、网格线、文档属性,或者应用其他设置,如可缩放宽度、页面标题、显示工具提示文本等。以下是这些选项:
类 | 选项 | 描述 | |
---|---|---|---|
导出选项 | HTMLSaveOptions | AddTooltipText | 指示在数据无法完全显示时是否添加工具提示文本。默认值为 false。 |
AttachedFilesUrlPrefix | 指定附加文件的 URL 前缀,例如 HTML 文件中的图像。 | ||
CellCssPrefix | 设置 CSS 名称的前缀。默认值为 null。 | ||
CssExportType | 指定导出样式表 (CSS) 的方式。 | ||
Encoding | 设置编码类型。默认编码类型为 Encoding.UTF8。 | ||
ExportArea | 指示要导出到 HTML 的区域。用于导出工作表的特定区域。仅在 HTMLSaveOptions.ExportSheetName 不为 null 时生效。 | ||
ExportCssSeparately | 指示是否将工作表样式单独导出为 CSS。默认值为 true。当此属性设置为 false 时,CSS 样式数据将直接导出到每个工作表,并且不会创建单独的 stylesheet.css 文件。 | ||
ExportDocumentProperties | 指示是否导出文档属性。默认值为 true。 | ||
ExportFileName | 指示 HTML 文件的名称。仅用于保存为 HTML 流,默认值为 "workbook"。 | ||
ExportGridlines | 指示是否导出网格线。默认值为 false。 | ||
ExportHeadings | 指示在将文件保存为 HTML 时是否导出标题。默认值为 false。 | ||
ExportHiddenWorksheet | 指示是否导出隐藏的工作表。默认值为 false。 | ||
ExportImageAsBase64 | 指定是否以 Base64 格式将图像保存到 HTML。默认值为 false。当此属性设置为 true 时,图像数据将直接导出到 img 元素,并且不会创建单独的文件。 | ||
ExportSheetName | 指示要导出到 HTML 的工作表。用于导出工作簿的特定工作表。 | ||
ExportSingleTab | 指示当文件只有一个工作表或设置了 ExportSheetName 时,是否导出单个选项卡。默认值为 false。 | ||
FileFormat | 表示保存工作簿的格式。 | ||
IsExportComments | 指示在将文件保存为 HTML 时是否导出注释。默认值为 false。 | ||
IsFullPathLink | 指示在 HTML 中是否使用完整路径链接。仅用于导出为 HTML 文件。默认值为 false。 | ||
IsWidthScalable | 指示在将文件导出为 HTML 时,是否使用可缩放单位来描述列宽。默认值为 false。 | ||
LinkTargetType | 指示 <a> 链接中 target 属性的类型。默认值为 HyperLinkTargetType.Blank。 | ||
PageTitle | HTML 页面的标题。 | ||
TableCssId | 设置类型 CSS 名称的前缀,例如 tr、td 等;它们包含在具有特定 TableCssId 属性的 table 元素中。默认值为 null。 | ||
IncludeAutoMergedCells | 指示是否包含自动合并的单元格。默认值为 false。 | ||
CellAttributeOptions | 指定导出为 HTML 时单元格元素属性的选项。 |
HtmlSaveOptions 类中的 setCssExportType 方法为用户提供了选项,通过 CssExportType 枚举来决定如何将 CSS 文件与 HTML 文件一起导出。CssExportType 枚举允许用户将 CSS 导出到一个单独的文件(在附加文件夹中)、HTML 中的 style 标签内,或者 HTML 元素内的 style 属性中。
注意:如果使用的是未授权版本的 GcExcel :
在将工作簿导出为 HTML 时:会在工作簿中附加一个“评估警告”工作表,并且在每个工作表的开头会有一个“评估警告”消息。
在将工作表或区域导出为 HTML 时:会在工作表或区域文件的开头添加一个“评估警告”消息。
可以使用 IWorkbook 接口的 save 方法将工作簿导出为 HTML 文件。
请参考以下示例代码,将工作簿导出到一个包含工作簿 HTML 文件和携带其他文件的文件夹的 zip 文件夹中。
// 创建一个 zip 文件流
FileOutputStream outputStream = new FileOutputStream("SaveWorkbookToHTML.zip");
// 创建一个新的工作簿
Workbook workbook = new Workbook();
workbook.open("NetProfit.xlsx");
// 将工作簿保存为 html 格式
workbook.save(outputStream, SaveFileFormat.Html);
IWorkbook 接口的 save 方法可用于将工作表导出为 HTML 文件。通过使用 HtmlSaveOptions 类的 setExportHeadings 和 setExportGridlines 方法,还可以导出工作表的标题和网格线。setExportSheetName 方法可用于定义要导出的工作表。
请参考以下示例代码,将工作表导出到一个包含工作表 HTML 文件和携带其他文件的文件夹的 zip 文件夹中。
// 创建一个 zip 文件流
FileOutputStream outputStream = null;
outputStream = new FileOutputStream("SaveWorksheetToHTML.zip");
// 创建一个新的工作簿
Workbook workbook = new Workbook();
workbook.open("ProjectTracker.xlsx");
HtmlSaveOptions options = new HtmlSaveOptions();
// 设置导出行/列标题
options.setExportHeadings(true);
// 设置导出网格线
options.setExportGridlines(true);
// 导出第一个工作表
options.setExportSheetName(workbook.getWorksheets().get(0).getName());
// 设置导出的 html 文件名称
options.setExportFileName("HiringDetails");
workbook.save(outputStream, options);
当设置了 HtmlSaveOptions 类的特定方法时,也可以将工作表导出为单个 HTML 文件,如下代码所示。
// 创建一个工作簿
Workbook workbook = new Workbook();
// 打开一个 xlsx 文件
workbook.open("ProjectTracker.xlsx");
// 创建 HtmlSaveOptions
HtmlSaveOptions options = new HtmlSaveOptions();
// 导出第一个工作表
options.setExportSheetName(workbook.getWorksheets().get(0).getName());
// 设置将导出的图像为 base64 格式
options.setExportImageAsBase64(true);
// 设置 css 导出类型为内部 CSS。
options.setCssExportType(CssExportType.Internal);
// 或者,设置 css 导出类型为内联 CSS。
// options.setCssExportType(CssExportType.Inline);
// 设置在 html 中不导出单个选项卡
options.setExportSingleTab(false);
// 将第一个工作表保存为 html
workbook.save("SaveWorksheetToSingleHTML.html", options);
IWorkbook 接口的 save 方法可用于将工作表的任何区域导出为 HTML 文件。HtmlSaveOptions 类的 setExportArea 方法可用于定义要导出的区域。
请参考以下示例代码,将工作表中的区域导出到一个包含区域 HTML 文件和携带其他文件的文件夹的 zip 文件夹中。
// 获取详细区域并设置样式。
for (IPivotLine item : pivottable.getPivotRowAxis().getPivotLines()) {
if (item.getLineType() == PivotLineType.Subtotal) {
item.getPivotLineCells().get(0).getRange().getInterior().setColor(Color.GetGreenYellow());
}
}
当设置了 HtmlSaveOptions 类的特定方法时,工作表中的区域也可以导出为单个 HTML 文件,如下代码所示。
// 创建一个新的工作簿
Workbook workbook = new Workbook();
workbook.open("ProjectTracker.xlsx");
// 创建 HtmlSaveOptions
HtmlSaveOptions options = new HtmlSaveOptions();
// 指定要导出的工作表名称
options.setExportSheetName(workbook.getWorksheets().get(0).getName());
// 设置导出区域
options.setExportArea("D2:G23");
// 设置将导出的图像为 base64 格式
options.setExportImageAsBase64(true);
// 设置 css 导出类型为内部 CSS。
options.setCssExportType(CssExportType.Internal);
// 或者,设置 css 导出类型为内联 CSS。
// options.setCssExportType(CssExportType.Inline);
// 设置在 html 中不导出单个选项卡
options.setExportSingleTab(false);
// 将第一个工作表的指定区域保存为 html
workbook.save("WorksheetRangeToHTML.html", options);
HTML 中的属性是添加到 HTML 元素开始标签的额外值。这些属性提供了有关 HTML 元素的信息,有助于配置和调整其行为、外观或功能,并指导浏览器如何呈现该元素或在用户交互时它应如何表现。
GcExcel 支持 HtmlSaveOptions 类的 getCellAttributeOptions 字典类型属性,使用 CellAttribute 枚举来设置单元格属性。CellAttribute 枚举包括 Address 选项,使 GcExcel 能够将带有地址属性的工作表单元格元素导出为 HTML。
请参考以下示例代码,将单元格元素的地址属性添加到导出的 HTML 文件中:
// 创建 HTML zip 文件流。
FileOutputStream outputStream = null;
try {
outputStream = new FileOutputStream("SaveHtmlWithCellAttributes.zip");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
// 创建新的工作簿。
Workbook workbook = new Workbook();
// 打开 XLSX 文件。
workbook.open("NetProfit.xlsx");
// 初始化 HtmlSaveOptions。
HtmlSaveOptions options = new HtmlSaveOptions();
// 将单元格元素的地址属性添加到导出的 HTML 文件中。
options.getCellAttributeOptions().put(CellAttribute.Address, "address");
// 保存 HTML 文件。
workbook.save(outputStream, options);
// 关闭流。
try {
outputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
注意:setExportCssSeparately 方法现已过时,但具有此属性的现有应用程序将继续正常运行。
限制
在导出为 HTML 文件时,不支持以下功能:
图表
渐变填充
切片器
数据透视表切片器或报表连接
切片器项目的自定义高度
切片器设置
切片器样式(颜色属性除外)
切片器标题样式
围绕项目面板的滚动查看器
“无数据”视觉状态组的切片器项目样式