[]
        
立即试用
(Showing Draft Content)

导出HTML

许多组织在 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 时:会在工作表或区域文件的开头添加一个“评估警告”消息。

将工作簿导出为 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);

将工作表导出为 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);

将工作表区域导出为 HTML

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();
}

html-cell-address

注意setExportCssSeparately 方法现已过时,但具有此属性的现有应用程序将继续正常运行。

限制

在导出为 HTML 文件时,不支持以下功能:

  • 图表

  • 渐变填充

  • 切片器

    • 数据透视表切片器或报表连接

    • 切片器项目的自定义高度

    • 切片器设置

    • 切片器样式(颜色属性除外)

    • 切片器标题样式

    • 围绕项目面板的滚动查看器

    • “无数据”视觉状态组的切片器项目样式