[]
许多公司在 Excel 文件中维护产品库存、招聘职位、价目表等。但是,将这些数据发布到网站上与相关客户共享是非常普遍的。因此,在这种情况下,导出为 HTML 文件成为一项重要功能。
GcExcel 允许用户将工作簿、工作表或任何特定范围导出到 HTML 文件。默认情况下,它导出一个HTML文件和一个包含其他文件的文件夹。这些附加文件可以是工作表中的图像、工作簿中其他工作表的 HTML 文件或用于设置 HTML 文件样式的 CSS 文件。同样,在导出工作表或工作表的任何区域时,也可以导出单个 HTML 文件。
使用 HtmlSaveOptions 类中的各种方法,可以通过各种设置控制导出的内容,如导出标题、网格线、文档属性或应用其他设置,如可缩放宽度、页面标题、显示工具提示文本等。
HtmlSaveOptions 类中的 setExportCssSeparately 方法单独导出 CSS 文件(在附加文件夹中),因为其默认值为 True。但是,可以将其设置为false,以便将css样式数据直接导出到每个工作表,而不创建单独的 CSS 文件。
HtmlSaveOptions 类中的 setCssExportType 方法为用户提供了选项,用于决定如何使用 CssExportType 枚举将 CSS 文件与 HTML 文件一起导出。CssExportType 枚举允许用户将 CSS 导出到单独的文件(在附加文件夹中)、HTML 中的 style 标记中或 HTML 元素内的 style 属性中。
注意: 如果使用未经许可的GcExcel版本:
将工作簿导出为HTML时:工作簿中会附加一个“评估警告”页,并在每个工作表的开头显示一条“评估警告”消息。
将工作表或范围导出为HTML时:在工作表或范围文件的开头添加“评估警告”消息。
类 | 选项 | 描述 | |
---|---|---|---|
导出选项 | HTMLSaveOptions | AddTooltipText | 表示当数据无法完全显示时是否添加工具提示文本。默认值为 false。 |
AttachedFilesUrlPrefix | 指定附加文件(如 HTML 文件中的图片)的 URL 前缀。 | ||
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。 |
HtmlSaveOptions 类中的 setCssExportType 方法为用户提供了选项,以便使用 CssExportType 枚举来决定如何将 CSS 文件与 HTML 文件一起导出。CssExportType 枚举允许用户将 CSS 导出到单独的文件(在附加文件夹中)、HTML 中的 style 标签内,或 HTML 元素内的 style 属性中。
注意:如果使用的是未授权版本的 GcExcel:
将工作簿导出为 HTML 时:会在工作簿中追加一个 “Evaluation warning” 工作表,并在每个工作表的开头添加一条 “Evaluation warning” 消息。
将工作表或区域导出为 HTML 时:会在工作表或区域文件的开头添加一条 “Evaluation warning” 消息。
IWorkbook 接口的 save 方法可用于将工作簿导出为 HTML 文件。
请参阅以下示例代码,将工作簿导出成一个 zip 文件夹,其包含工作簿的 HTML 文件和其他文件。
// Create a zip file stream
FileOutputStream outputStream = new FileOutputStream("SaveWorkbookToHTML.zip");
// Create a new workbook
Workbook workbook = new Workbook();
workbook.open("NetProfit.xlsx");
// Save workbook to html format
workbook.save(outputStream, SaveFileFormat.Html);
IWorkbook 接口的 save 方法可用于将工作表导出为HTML文件。工作表的标题和网格线也可以使用 HtmlSaveOptions 类的 setExportHeadings 和 setExportGridlines 方法导出。setExportSheetName 方法可用于定义需要导出的工作表。
请参阅以下示例代码,将工作表导出成一个zip文件夹,其包含工作表的HTML文件和其他文件。
// Create a zip file stream
FileOutputStream outputStream = null;
outputStream = new FileOutputStream("SaveWorksheetToHTML.zip");
// Create a new workbook
Workbook workbook = new Workbook();
workbook.open("ProjectTracker.xlsx");
HtmlSaveOptions options = new HtmlSaveOptions();
// Set exporting row/column headings
options.setExportHeadings(true);
// Set exporting gridlines
options.setExportGridlines(true);
// Export first sheet
options.setExportSheetName(workbook.getWorksheets().get(0).getName());
// Set exported html file name
options.setExportFileName("HiringDetails");
workbook.save(outputStream, options);
当设置了 HtmlSaveOptions 类的指定方法时,工作表也可以导出到单个HTML文件中,如下代码所示。
// Create a workbook
Workbook workbook = new Workbook();
// Open an xlsx file
workbook.open("ProjectTracker.xlsx");
// Create HtmlSaveOptions
HtmlSaveOptions options = new HtmlSaveOptions();
// Export first sheet
options.setExportSheetName(workbook.getWorksheets().get(0).getName());
// Set exported image as base64
options.setExportImageAsBase64(true);
// Set the css export type to internal CSS.
options.setCssExportType(CssExportType.Internal);
// Or, set the css export type to inline CSS.
// options.setCssExportType(CssExportType.Inline);
// Set not to export single tab in html
options.setExportSingleTab(false);
// Save first worksheet to html
workbook.save("SaveWorksheetToSingleHTML.html", options);
IWorkbook 接口的 save 方法可用于将工作表的任何范围导出为HTML文件。HtmlSaveOptions 类的 setExportArea 方法可用于定义需要导出的范围。
请参阅以下示例代码,将工作表中的一片区域导出成一个 zip 文件夹,其包含导出区域的 HTML 文件和其他文件。
// Get detail range and set style.
for (IPivotLine item : pivottable.getPivotRowAxis().getPivotLines()) {
if (item.getLineType() == PivotLineType.Subtotal) {
item.getPivotLineCells().get(0).getRange().getInterior().setColor(Color.GetGreenYellow());
}
}
当设置了 HtmlSaveOptions 类的特定方法时,工作表中的范围也可以导出到单个HTML文件中,如下代码所示。
// Create a new workbook
Workbook workbook = new Workbook();
workbook.open("ProjectTracker.xlsx");
// Create HtmlSaveOptions
HtmlSaveOptions options = new HtmlSaveOptions();
// Specify exported sheet name
options.setExportSheetName(workbook.getWorksheets().get(0).getName());
// Set export area
options.setExportArea("D2:G23");
// Set exported image as base64
options.setExportImageAsBase64(true);
// Set the css export type to internal CSS.
options.setCssExportType(CssExportType.Internal);
// Or, set the css export type to inline CSS.
// options.setCssExportType(CssExportType.Inline);
// Set not to export single tab in html
options.setExportSingleTab(false);
// Save the specified range of first worksheet to html
workbook.save("WorksheetRangeToHTML.html", options);
type=warning
注意:setExportCssSeparately 方法现已过时,但具有此属性的现有应用程序将继续正常运行。
限制
导出到HTML文件时不支持以下功能:
图表
渐变填充
切片器
数据透视表切片器或报表连接
切片器项目的自定义高度
切片器设置
切片器样式(颜色属性除外)
切片器头部样式
围绕“项目”面板的滚动查看器
无数据时的切片器项目样式