Appearance
informat.excel excel文件相关
概述
使用informat.excel对象进行Excel文件的读写操作
参考
文件路径必须是在本地的沙盒路径中,关于文件路径可参考 informat.file
openExistFile
打开一个已经存在的Excel文件
注意
如果file不存在,则会抛出异常
javascript
informat.excel.openExistFile(file)| 参数 | 类型 | 描述 |
|---|---|---|
| file | String | app的沙盒环境中的文件地址 |
返回值
返回Workbook对象
示例
javascript
informat.excel.openExistFile('gzb.xlsx')openNewFile
创建一个新的Excel文件
javascript
informat.excel.openNewFile(file)TIP
如果文件存在,在保存时会覆盖原有的文件内容
| 参数 | 类型 | 描述 |
|---|---|---|
| file | String | app的沙盒环境中的文件地址 |
返回值
返回Workbook对象
示例
javascript
informat.excel.openNewFile('gzb2.xlsx')openWithTemplate
根据模版创建Workbook。
javascript
informat.excel.openWithTemplate(file, templateFile, data);| 参数 | 类型 | 描述 |
|---|---|---|
| file | String | 生成后的Excel文件 |
| templateFile | String | 模板文件的地址 |
| data | Object | 传递给模板文件的变量 |
返回值
返回Workbook对象
openWithTemplateWithSheets
根据多sheet模版创建Workbook。
javascript
informat.excel.openWithTemplateWithSheets(file, templateFile, sheetNums, data);TIP
如果sheetNums为空,则表示导出所有工作表。
| 参数 | 类型 | 描述 |
|---|---|---|
| file | String | 生成后的Excel文件 |
| templateFile | String | 模板文件的地址 |
| sheetNums | Array<Integer> | 工作表编号列表,从0开始;如果只想导出第2和第3个工作表,则输入[1,2] |
| data | Object | 传递给模板文件的变量 |
返回值
返回Workbook对象
createTemplatePicture
创建模版图片对象
javascript
informat.excel.createTemplatePicture(pic);| 参数 | 类型 | 描述 |
|---|---|---|
| image | ExcelTamplatePicture | 图片配置 |
返回值
返回在模板中使用的图片
示例
javascript
informat.excel.createTemplatePicture({
type: 'file', // 本地存储
content: 'pathto/img.jpg', //本地存储中的文件路径
width: 100, //宽度
height: 100, //高度
});
informat.excel.createTemplatePicture({
type: 'storage', // 共享存储
content: 'pathto/img.jpg', //共享存储中的文件路径
});javascript
informat.excel.createTemplatePicture({
type: 'barcode', //条形码
content: '1234557', // 内容
width: 100, // 宽度
height: 100 // 高度
});javascript
informat.excel.createTemplatePicture({
type: 'qrcode', // 二维码
content: 'https://informat.cn', // 内容
width: 100, // 宽度
height: 100 // 高度
});createTemplateCell
创建模版单元格
javascript
informat.excel.createTemplateCell(cell);| 参数 | 类型 | 描述 |
|---|---|---|
| cell | ExcelTamplateCell | 单元格配置 |
返回值
返回在模板中使用的单元格
示例
js
const companyCell = informat.excel.createTemplateCell({
content: '深圳市基石协作有限公司', // 单元格内容
rowspan: 2, // 行单元格数,默认为1
colspan: 2 // 列单元格数,默认为1
});Workbook
createSheet
创建新的Sheet
javascript
workbook.createSheet(sheetName)TIP
sheetName不能包含 0x0000 0x0003 : \ * ? / [``]
| 参数 | 类型 | 描述 |
|---|---|---|
| sheetName | String | sheet的名称 |
返回值
返回Sheet对象
示例
js
workbook.createSheet('sheet1')createSafeSheetName
创建一个可用的sheet名称
javascript
workbook.createSafeSheetName(sheetName)TIP
在sheet名称中不可以出现一些特殊字符,调用此方法可自动的将这些不允许的特殊字符过滤
| 参数 | 类型 | 描述 |
|---|---|---|
| sheetName | String | sheet的名称 |
返回值
返回String,过滤掉特殊字符的sheet名称
示例
js
workbook.createSafeSheetName('sheet1')getSheet
根据名称获取Sheet
javascript
workbook.getSheet(sheetName)| 参数 | 类型 | 描述 |
|---|---|---|
| sheetName | String | sheet的名称 |
返回值
返回Sheet对象,如果sheetName不存在,则返回null
示例
js
workbook.getSheet('sheet1')getSheetAt
根据位置顺序获取Sheet
javascript
workbook.getSheetAt(sheetIdx)| 参数 | 类型 | 描述 |
|---|---|---|
| sheetIdx | Integer | sheet的顺序,从0开始 |
返回值
返回Sheet对象,如果sheet不存在,则返回null
示例
js
workbook.getSheetAt(0)getNumberOfSheets
获取sheet的数量
javascript
workbook.getNumberOfSheets()返回值 返回Integer对象,sheet的数量
write
将内容写入文件
javascript
workbook.write()TIP
调用write后将sheet的内容写入文件中,并关闭workbook,不能重复的调用write方法,如果在写入的过程中出现错误(磁盘空间不足等),将会抛出异常
createFont
创建一个字体配置
TIP
用于设置单元格格式
javascript
workbook.createFont()返回值
返回Font对象,描述字体的对象
createCellStyle
创建单元格样式配置
javascript
workbook.createCellStyle()TIP
单元格样式配置可以设置单元格的颜色,背景色,边框,对齐方式等样式
返回值 返回CellStyle对象,描述单元格样式的对象
Sheet
getSheetName
获取sheet名称
javascript
sheet.getSheetName()返回值
返回String对象,sheet名称
createRow
创建一行
javascript
sheet.createRow(row)| 参数 | 类型 | 描述 |
|---|---|---|
| row | Integer | 行的索引,从0开始 |
返回值
返回Row对象
示例
js
sheet.createRow(0)getRow
返回行
javascript
sheet.getRow(row)| 参数 | 类型 | 描述 |
|---|---|---|
| row | Integer | 行的索引,从0开始 |
返回值
返回Row对象
示例
js
sheet.getRow(0)removeRow
删除行
javascript
sheet.removeRow(row)| 参数 | 类型 | 描述 |
|---|---|---|
| row | Integer | 行的索引,从0开始 |
示例
js
sheet.removeRow(0)getFirstRowNum
返回sheet中的第一行的索引
javascript
sheet.getFirstRowNum()返回值
返回Integer第一行的索引
getLastRowNum
返回sheet中的最后一行的索引
javascript
sheet.getLastRowNum()返回值
返回Integer最后一行的索引
getDefaultRowHeightInPoints
返回默认的行高
javascript
sheet.getDefaultRowHeightInPoints()返回值 返回Double 默认行高
setDefaultRowHeightInPoints
设置默认行高
javascript
sheet.setDefaultRowHeightInPoints(height)| 参数 | 类型 | 描述 |
|---|---|---|
| height | Double | 默认行高,单位为像素 |
getDefaultColumnWidth
返回默认列宽
javascript
sheet.getDefaultColumnWidth()返回值
返回Integer 默认列宽
setDefaultColumnWidth
返回默认列宽
javascript
sheet.setDefaultColumnWidth(width)| 参数 | 类型 | 描述 |
|---|---|---|
| width | Integer | 默认列宽 |
setColumnWidth
返回默认列宽
javascript
sheet.setColumnWidth(colIdx, width)| 参数 | 类型 | 描述 |
|---|---|---|
| colIdx | Integer | 列索引 |
| width | Integer | 列宽 |
autoSizeColumn
根据内容自动设置列的宽度
javascript
sheet.autoSizeColumn(colIdx)TIP
在数据插入完成后执行自动列宽函数才能生效
| 参数 | 类型 | 描述 |
|---|---|---|
| colIdx | Integer | 列索引 |
setDefaultColumnStyle
设置列的默认单元格样式
javascript
sheet.setDefaultColumnStyle(colIdx, cellStyle)| 参数 | 类型 | 描述 |
|---|---|---|
| colIdx | Integer | 列的索引,从0开始 |
| cellStyle | CellStyle | 单元格样式 |
getColumnStyle
返回列的默认单元格样式
javascript
sheet.getColumnStyle(colIdx)| 参数 | 类型 | 描述 |
|---|---|---|
| colIdx | Integer | 列的索引,从0开始 |
返回值
返回CellStyle默认单元格样式
addMergedRegion
合并单元格
javascript
sheet.addMergedRegion(firstRow, lastRow, firstColumn, lastColumn)| 参数 | 类型 | 描述 |
|---|---|---|
| firstRow | Integer | 第一行,从0开始 |
| lastRow | Integer | 最后一行,从0开始 |
| firstColumn | Integer | 第一列,从0开始 |
| lastColumn | Integer | 最后一列,从0开始 |
addPicture
在单元格中插入本地沙盒中的图片
javascript
sheet.addPicture(col, row, filePath)| 参数 | 类型 | 描述 |
|---|---|---|
| col | Integer | 插入的列,从0开始 |
| row | Integer | 插入的行,从0开始 |
| filePath | String | 插入的图片路径,文件路径是在应用沙盒中的文件地址 |
返回值
返回Picture对象
addPictureStorage
在单元格中插入共享存储中的图片
javascript
sheet.addPictureStorage(col, row, filePath)| 参数 | 类型 | 描述 |
|---|---|---|
| col | Integer | 插入的列,从0开始 |
| row | Integer | 插入的行,从0开始 |
| filePath | String | 插入的图片路径,文件路径是在共享存储中的路径 |
返回值 返回Picture 对象
addPictureBarcode
在单元格中插入条码图片
javascript
sheet.addPictureBarcode(col, row, setting)| 参数 | 类型 | 描述 |
|---|---|---|
| col | Integer | 插入的列,从0开始 |
| row | Integer | 插入的行,从0开始 |
| setting | PictureSetting | 图片配置 |
返回值
返回Picture 对象
addPictureQrcode
在单元格中插入二维码图片
javascript
sheet.addPictureQrcode(col, row, setting)| 参数 | 类型 | 描述 |
|---|---|---|
| col | Integer | 插入的列,从0开始 |
| row | Integer | 插入的行,从0开始 |
| setting | PictureSetting | 图片配置 |
返回值
返回Picture 对象
getPictures
返回sheet中的所有图片
javascript
sheet.getPictures()返回值
返回Array<Picture> 对象
getObjectDatas
返回sheet中的所有附件
javascript
sheet.getObjectDatas()返回值 返回Array<ExcelObjectData> 对象
Row
createCell
创建单元格
javascript
row.createCell(colIdx)| 参数 | 类型 | 描述 |
|---|---|---|
| colIdx | Integer | 插入的列,从0开始 |
返回值 返回Cell 对象
createCellWithValue
创建单元格
javascript
row.createCellWithValue(colIdx, value)| 参数 | 类型 | 描述 |
|---|---|---|
| colIdx | Integer | 插入的列,从0开始 |
| value | Object | 插入的值,Date,Boolean,Number类型会按照原始类型保存,其它类型会转换为字符串 |
返回值 返回Cell 对象
getCell
获取单元格
javascript
row.getCell(colIdx)| 参数 | 类型 | 描述 |
|---|---|---|
| colIdx | Integer | 插入的列,从0开始 |
返回值
返回Cell 对象,如果单元格不存在返回null
removeCell
删除单元格
javascript
row.removeCell(colIdx)| 参数 | 类型 | 描述 |
|---|---|---|
| colIdx | Integer | 删除的列,从0开始 |
getFirstCellNum
返回第一列的索引
javascript
row.getFirstCellNum()返回值
返回Integer,第一列的索引
getLastCellNum
返回最后一列的索引
javascript
row.getLastCellNum()返回值
返回Integer,最后一列的索引
getRowNum
返回行的索引
javascript
row.getRowNum()返回值
返回Integer,行索引
getHeightInPoints
返回行高
javascript
row.getHeightInPoints()返回值
返回Double,行高
setHeightInPoints
设置行高
javascript
row.setHeightInPoints(height)| 参数 | 类型 | 描述 |
|---|---|---|
| height | Double | 行高,单位为像素 |
setStyle
设置行的单元格样式
javascript
row.setStyle(cellStyle)| 参数 | 类型 | 描述 |
|---|---|---|
| cellStyle | CellStyle | 单元格样式 |
getStyle
返回行的单元格格式
javascript
row.getStyle()返回值
Cell
setValue
设置单元格的值
javascript
cell.setValue(value)TIP
单元格支持String Boolean Double Date 类型的值,如果为其它类型将会转换成字符串存储
| 参数 | 类型 | 描述 |
|---|---|---|
| value | Object | 单元格的值 |
getValue
返回单元格的值
javascript
cell.getValue()getValueEvaluated
计算完公式以后,返回单元格的值
javascript
cell.getValueEvaluated()setStyle
设置单元格样式
javascript
cell.setStyle(cs)| 参数 | 类型 | 描述 |
|---|---|---|
| cellStyle | CellStyle | 单元格样式 |
getStyle
返回单元格样式
javascript
cell.getStyle()返回值
setHyperlink
设置单元格超链接
javascript
cell.setHyperlink(link)| 参数 | 类型 | 描述 |
|---|---|---|
| link | String | 链接地址 |
getHyperlink
返回单元格的超链接
javascript
cell.getHyperlink()返回值
返回String 超链接的地址,如果超链接不存在则返回null
Style
setAlignment
设置横向对齐
javascript
cellStyle.setAlignment(align)| 参数 | 类型 | 描述 |
|---|---|---|
| align | String | 可选值CENTER CENTER_SELECTION DISTRIBUTED FILL GENERAL JUSTIFY LEFT RIGHT |
getAlignment
返回横向对齐
javascript
cellStyle.getAlignment()返回值
类型String
setVerticalAlignment
设置垂直对齐
javascript
cellStyle.setVerticalAlignment(align)| 参数 | 类型 | 描述 |
|---|---|---|
| align | String | 可选值BOTTOM CENTER DISTRIBUTED JUSTIFY TOP |
getVerticalAlignment
返回垂直对齐
javascript
cellStyle.getVerticalAlignment()返回值
类型String
getDataFormatString
返回单元格数据格式
javascript
cellStyle.getDataFormatString()返回值
类型String
setWrapText
设置单元格文字是否可以换行
javascript
cellStyle.setWrapText(wrap)| 参数 | 类型 | 描述 |
|---|---|---|
| wrap | Boolean | 文字是否换行 |
getWrapText
返回单元格文字是否换行
javascript
cellStyle.getWrapText()返回值
返回String
setFont
设置单元格文字的字体
javascript
cellStyle.setFont(font)| 参数 | 类型 | 描述 |
|---|---|---|
| font | Font | 字体 |
setFillForegroundColor
设置单元格填充的前景色
javascript
cellStyle.setFillForegroundColor(color)| 参数 | 类型 | 描述 |
|---|---|---|
| color | String | 十六进制的颜色标识,例如#ff0000 红色 |
setFillBackgroundColor
设置单元格填充的背景色
javascript
cellStyle.setFillBackgroundColor(color)| 参数 | 类型 | 描述 |
|---|---|---|
| color | String | 十六进制的颜色标识,例如#ff0000 红色 |
setFillPattern
设置填充模式
javascript
cellStyle.setFillPattern(type)| 参数 | 类型 | 描述 |
|---|---|---|
| type | String | 可选值为 ALT_BARS; BIG_SPOTS; BRICKS; DIAMONDS; FINE_DOTS; LEAST_DOTS; LESS_DOTS; NO_FILL; SOLID_FOREGROUND; SPARSE_DOTS; SQUARES; THICK_BACKWARD_DIAG;THICK_FORWARD_DIAG; THICK_HORZ_BANDS; THICK_VERT_BANDS; THIN_VERT_BANDS; |
setHidden
设置填充模式
javascript
cellStyle.setHidden(hidden)| 参数 | 类型 | 描述 |
|---|---|---|
| hidden | Boolean | 设置是否隐藏 |
setIndention
设置缩进
javascript
cellStyle.setIndention(indent)| 参数 | 类型 | 描述 |
|---|---|---|
| indent | Integer | 缩进值 |
setBorderTop
设置上边框样式
js
cellStyle.setBorderTop(borderStyle);| 参数 | 类型 | 描述 |
|---|---|---|
| borderStyle | String | 边框样式 |
边框样式可选值:
- NONE:无边框
- THIN:细边框
- MEDIUM:中等边框
- DASHED:虚线边框
- DOTTED:点状边框
- THICK:粗边框
- DOUBLE:双线边框
- HAIR:极细边框
- MEDIUM_DASHED:中等虚线边框
- DASH_DOT:点划线边框
- MEDIUM_DASH_DOT:中等点划线边框
- DASH_DOT_DOT:点划点线边框
- MEDIUM_DASH_DOT_DOT:中等点划点线边框
- SLANTED_DASH_DOT:倾斜点划线边框
setBorderBottom
设置下边框样式
js
cellStyle.setBorderBottom(borderStyle);| 参数 | 类型 | 描述 |
|---|---|---|
| borderStyle | String | 边框样式 |
setBorderLeft
设置左边框样式
js
cellStyle.setBorderLeft(borderStyle);| 参数 | 类型 | 描述 |
|---|---|---|
| borderStyle | String | 边框样式 |
setBorderRight
设置右边框样式
js
cellStyle.setBorderRight(borderStyle);| 参数 | 类型 | 描述 |
|---|---|---|
| borderStyle | String | 边框样式 |
setLeftBorderColor
设置左侧边框颜色
javascript
cellStyle.setLeftBorderColor(color)| 参数 | 类型 | 描述 |
|---|---|---|
| color | String | 颜色,例如 #f0f0f0 |
setRightBorderColor
设置右侧边框颜色
javascript
cellStyle.setRightBorderColor(color)| 参数 | 类型 | 描述 |
|---|---|---|
| color | String | 颜色,例如 #f0f0f0 |
setTopBorderColor
设置顶部边框颜色
javascript
cellStyle.setTopBorderColor(color)| 参数 | 类型 | 描述 |
|---|---|---|
| color | String | 颜色,例如 #f0f0f0 |
setBottomBorderColor
设置底部边框颜色
javascript
cellStyle.setBottomBorderColor(color)| 参数 | 类型 | 描述 |
|---|---|---|
| color | String | 颜色,例如 #f0f0f0 |
setRotation
设置文字旋转角度
javascript
cellStyle.setRotation(rotation)| 参数 | 类型 | 描述 |
|---|---|---|
| rotation | Integer | 旋转角度,例如90 |
setDataFormat
设置单元格格式
javascript
cellStyle.setDataFormat(fmt)| 参数 | 类型 | 描述 |
|---|---|---|
| fmt | String | 单元格格式,例如#0.00 |
Font
setBold
设置文字是否粗体
javascript
font.setBold(bold)| 参数 | 类型 | 描述 |
|---|---|---|
| bold | Boolean | 是否粗体 |
setItalic
设置文字是否斜体
javascript
font.setItalic(italic)| 参数 | 类型 | 描述 |
|---|---|---|
| italic | Boolean | 是否斜体 |
setUnderline
设置文字是否有下划线
javascript
font.setUnderline(underline)| 参数 | 类型 | 描述 |
|---|---|---|
| underline | Boolean | 是否有下划线 |
setFontHeightInPoints
设置字体大小
javascript
font.setFontHeightInPoints(size)| 参数 | 类型 | 描述 |
|---|---|---|
| size | Integer | 字体大小 |
setFontName
设置字体名称
javascript
font.setFontName(name)| 参数 | 类型 | 描述 |
|---|---|---|
| name | String | 字体名称 |
Picture
getRow
返回所在行
javascript
picture.getRow()返回值
返回Integer
getColumn
返回所在列
javascript
picture.getColumn()返回值
返回Integer
save
将图片中的内容保存到本地沙盒中
javascript
picture.save(path)| 参数 | 类型 | 描述 |
|---|---|---|
| path | String | 文件在本地沙盒中的路径 |
saveStorage
将图片中的内容保存到共享存储中
javascript
picture.saveStorage(path)| 参数 | 类型 | 描述 |
|---|---|---|
| path | String | 文件在共享存储中的路径 |
saveAttachment
将图片中的内容保存为附件字段
javascript
picture.saveAttachment(tableId, fieldId)| 参数 | 类型 | 描述 |
|---|---|---|
| tableId | String | 数据表的标识符 |
| fieldId | String | 附件字段的标识符 |
返回值
返回TableAttachment对象
setScale
设置图片的缩放比例
javascript
picture.setScale(wScale, hScale)| 参数 | 类型 | 描述 |
|---|---|---|
| wScale | Double | 宽度的缩放比例 |
| hScale | Double | 高度的缩放比例 |
setSize
设置图片的高宽
javascript
picture.setSize(width, height)| 参数 | 类型 | 描述 |
|---|---|---|
| width | Integer | 图片高度 |
| height | Integer | 图片宽度 |
fitWidth
按照图片所在单元格的宽度缩放图片
javascript
picture.fitWidth()TIP
缩放后图片的宽度小于等于所在单元格的宽度,图片的高度跟随宽度缩放的比例
fitHeight
按照图片所在单元格的高度缩放图片
javascript
picture.fitHeight()TIP
缩放后图片的高度小于等于所在单元格的高度,图片的宽度跟随高度缩放的比例
resetSize
设置图片大小为图片的原始尺寸
javascript
picture.resetSize()ExcelObjectData
Excel附件
getRow
返回附件所在行
javascript
objectData.getRow()返回值
返回Integer
getColumn
返回附件所在列
javascript
objectData.getColumn()返回值
返回Integer
save
将文件内容保存到本地沙盒中
javascript
objectData.save(path)| 参数 | 类型 | 描述 |
|---|---|---|
| path | String | 文件在本地沙盒中的路径 |
saveStorage
将文件内容保存到共享存储中
javascript
objectData.saveStorage(path)| 参数 | 类型 | 描述 |
|---|---|---|
| path | String | 文件在共享存储中的路径 |
saveAttachment
将文件内容保存为附件字段
javascript
objectData.saveAttachment(tableId, fieldId)| 参数 | 类型 | 描述 |
|---|---|---|
| tableId | String | 数据表的标识符 |
| fieldId | String | 附件字段的标识符 |
返回值
返回TableAttachment对象
hasDirectoryEntry
是否有关联的POIFS目录条目
javascript
objectData.hasDirectoryEntry()getOLE2ClassName
返回OLE2类对象的名称
javascript
objectData.getOLE2ClassName()getFileName
获取文件名称
javascript
objectData.getFileName()getContentType
获取文件类型
javascript
objectData.getContentType()示例
示例1:读取Excel中所有单元格的数据
js
const workbook = informat.excel.openExistFile('test.xlsx');
for (var sheetIdx = 0; sheetIdx < workbook.getNumberOfSheets(); sheetIdx++) {
const sheet = workbook.getSheetAt(sheetIdx);
console.log("sheet name is " + sheet.getSheetName());
//返回所有的单元格数据
for (var rowIndex = sheet.getFirstRowNum(); rowIndex <= sheet.getLastRowNum(); rowIndex++) {
const row = sheet.getRow(rowIndex);
for (var colIndex = row.getFirstCellNum(); colIndex < row.getLastCellNum(); colIndex++) {
const cell = row.getCell(colIndex);
if (cell != null) {
console.log(cell.getValueEvaluated());
}
}
}
//返回所有的图片
sheet.getPictures().forEach(p => {
console.log("picture " + p.getRow() + " " + p.getColumn());
});
//读取图片后,可通过picture的save(localPath),saveStorage(path),saveAttachment(tableKey,fieldKey,fieldName)可以将文件内容存储到本地沙盒或者是共享存储中
}示例2:将数据写入到Excel文件中
js
const workbook = informat.excel.openNewFile('test.xlsx');
const sheet = workbook.createSheet("sheet1");
const style = workbook.createCellStyle();
const font = workbook.createFont();
font.setBold(true);
font.setItalic(true);
font.setFontHeightInPoints(14);
//
style.setFont(font);
style.setFillBackgroundColor("#fafafa");//设置灰色背景
style.setAlignment("CENTER");//水平居中
style.setVerticalAlignment("CENTER");//垂直居中
style.setFillPattern("SOLID_FOREGROUND");
//
for (var i = 0; i < 10; i++) {
const row = sheet.createRow(i);
const cell = row.createCellWithValue(0, "字符串");
cell.setStyle(style);
row.createCellWithValue(1, "https://informat.cn/").setHyperlink("https:/informat.cn");
row.createCellWithValue(2, true);
row.createCellWithValue(3, 3.14);
row.createCellWithValue(4, new Date());
}
//
sheet.addMergedRegion(0, 2, 0, 3);//合并单元格
// 在数据插入完成后执行自动列宽函数才能生效
sheet.autoSizeColumn(0);//第一列第二列 自动调整宽度
sheet.autoSizeColumn(1);
//
workbook.write();//写入文件
//示例3:使用模板文件生成Excel
js
const templateFilePath = 'excel_template.xlsx';
const outputFilePath = 'result.xlsx';
informat.website.download('website', 'excel/excel_template.xlsx', templateFilePath);
const workbook = informat.excel.openWithTemplate(outputFilePath, templateFilePath, {
'orgName': '公司名称xxx',
'goodAtProduct': '产品xxx',
'addresss': '公司地址xxxxxxx',
'reviewUser': '张三',
'reviewTime': new Date(),
'list': [
{ 'sort': 1, 'question': '项目1', 'standard': '优秀', 'score': 95, 'realScore': 98, 'realTotalScore': 99 },
{ 'sort': 2, 'question': '项目2', 'standard': '良好', 'score': 78, 'realScore': 79, 'realTotalScore': 80 },
{ 'sort': 3, 'question': '项目3', 'standard': '及格', 'score': 65, 'realScore': 62, 'realTotalScore': 66 },
]
});
workbook.write();//写入文件TIP
示例中是把模板文件export_muti_sheet_template.xlsx上传到标识符是website的资源与组件设计器模块的excel文件夹下
示例4:插入图片
js
const workbook = informat.excel.openNewFile('test-pic.xlsx');
const sheet = workbook.createSheet("sheet1");
//
for (var i = 0; i < 5; i++) {
const row = sheet.createRow(i);
row.createCellWithValue(0, '第1列');
row.createCellWithValue(1, '第2列');
}
//
sheet.addPicture(0, 0, "path/to/image.png").setSize(60, 60);
sheet.addPicture(1, 0, "path/to/image.png").setSize(60, 60);
//
workbook.write();//写入文件
//示例5:根据Excel多个sheet模版导出
js
// 下载模板文件
export function exportMutiSheetTemplate() {
// 定义模板文件路径
const templateFilePath = 'mutiSheetTemplate.xlsx';
const outputFilePath = 'result.xlsx';
informat.website.download('website', 'excel/export_muti_sheet_template.xlsx', templateFilePath);
// 定义要导出的 sheet 编号列表,从 0 开始。如果为空,则导出所有 sheet
const sheetNums = [0, 1, 2]; // 导出第一个、第二个和第三个 sheet
// 定义传递给模板的数据
const data = {
'orgName': '公司名称xxx',
'goodAtProduct': '产品xxx',
'addresss': '公司地址xxxxxxx',
'reviewUser': '张三',
'reviewTime': new Date(),
'list': [
{'sort': 1, 'question': '项目1', 'standard': '优秀', 'score': 95, 'realScore': 98, 'realTotalScore': 99},
{'sort': 2, 'question': '项目2', 'standard': '良好', 'score': 78, 'realScore': 79, 'realTotalScore': 80},
{'sort': 3, 'question': '项目3', 'standard': '及格', 'score': 65, 'realScore': 62, 'realTotalScore': 66},
]
};
// 使用模板文件创建一个新的 Excel 文件,并导出指定的 sheet
const workbook = informat.excel.openWithTemplateWithSheets(outputFilePath, templateFilePath, sheetNums, data);
// 写入文件
workbook.write();
return outputFilePath
}TIP
模板下载export_muti_sheet_template.xlsx 示例中是把模板文件export_muti_sheet_template.xlsx上传到标识符为website的资源与组件设计器模块的excel文件夹下

