[]
你可以使用 CellRange 类的 toHTML 方法,将单元格区域或整个工作表导出为 HTML 字符串。
toHTML 方法提供了两个参数,includeStyle(包含样式)和 headerOptions(标题选项)。
includeStyle 参数表示是否包含样式和合并单元格信息,其默认值为 true(是)。
headerOptions 参数表示当单元格区域在视口区域中为整行或整列时,是否包含行标题或列标题。
HeaderOptions 枚举有以下 4 个选项:
noHeaders(无标题):这是默认值。在将区域数据导出为 HTML 时,会移除列标题和行标题。
rowHeaders(行标题):在将区域数据导出为 HTML 时,包含指定的行标题。
columnHeaders(列标题):在将区域数据导出为 HTML 时,包含指定的列标题。
allHeaders(所有标题):在将区域数据导出为 HTML 时,同时包含指定的行标题和列标题。
你可以使用 includeStyles 参数来指定在将区域导出为 HTML 字符串时是否要包含单元格样式设置。该参数的默认值为 true(是)。
以下是将区域导出为 HTML 时支持的功能:
单元格文本
单元格合并
单元格样式设置,如背景颜色(backColor)、前景颜色(foreColor)、字体(font)、垂直对齐方式(vAlign)、水平对齐方式(hAlign)、左边框(borderLeft)、右边框(borderRight)、上边框(borderTop)、下边框(borderBottom)和文本装饰(textDecoration)
网格线
行高 / 列宽
以下是将区域导出为 HTML 时不支持的功能:
单元格样式属性,如文本缩进(textIndent)、自动换行(wordWrap)、显示省略号(showEllipsis)、缩小字体填充(shrinkToFit)、背景图片(backgroundImage)、单元格类型(cellType)、水印(watermark)、下斜线(diagonalDown)、上斜线(diagonalUp)、垂直文本(isVerticalText)、单元格按钮(cellButtons)、下拉列表(dropDowns)、文本方向(textOrientation)等。
缩放
滚动条
选项卡栏
自动合并
条形码
图表
批注
数据条和图标集
筛选
图片和自定义浮动对象
公式文本框
分组
超链接
分级显示列
数据透视表
形状
切片器
迷你图
状态栏
表格
数据验证
使用 toHTML 方法在运行时或通过代码将选定区域导出为 HTML 字符串。
你可以使用 toHTML 方法在运行时将视口区域的选定区域导出为 HTML 字符串。以下示例在运行时将选定的单元格区域以 HTML 格式导出。

以下代码示例在运行时将视口区域的选定区域导出为 HTML 字符串。
// 从视口区域的选定范围获取 HTML 内容并放入 htmlContainer 中
var r, c, rc, cc;
// 获取选区范围
var selectedRanges = activeSheet.getSelections();
r = selectedRanges[0].row;
rc = selectedRanges[0].rowCount;
c = selectedRanges[0].col;
cc = selectedRanges[0].colCount;
var html = activeSheet.getRange(r, c, rc, cc).toHtml();
document.getElementById("htmlContainer").innerHTML = html;你也可以在后端使用代码(而非在运行时)将视口区域的选定范围导出为 HTML 字符串。
以下代码将工作表中特定的单元格区域 [A1:B8] 导出为 HTML 字符串。
// 从视口区域的范围 "A1:B8" 获取 HTML 内容并放入 htmlContainer 中
var html = activeSheet.getRange("A1:B8").toHtml();
document.getElementById("htmlContainer").innerHTML = html;使用 toHTML 方法将整个工作表导出为 HTML 字符串。以下示例将包含有关不同国家不同城市和州产品销售信息的整个工作表导出。
以下代码将整个工作表导出为 HTML 字符串。
// 从包含数据的视口区域获取 HTML 内容并放入 htmlContainer 中
var html = activeSheet.getRange(-1, -1, -1, -1).toHtml(GC.Spread.Sheets.HeaderOptions.allHeaders);
document.getElementById("htmlContainer").innerHTML = html;