angular - 如何在工作表 JS 中设置列格式
问题描述
我正在尝试使用带有特定列的 sheetJS 创建一个 xlsx,所有单元格包括空单元格作为文本。我正在使用 json_to_sheet ....
我设法将所有单元格的内容设置为格式单元格屁股文本,但空的单元格设置为“一般”有没有办法找到特定的 cloumn,有没有办法设置列?
downloadExcelFile(data: any[], sheetName: string, header?: string[], filename: string = "export") {
let workbook = XLSX.utils.book_new();
let worksheet = XLSX.utils.json_to_sheet(data, { header: header });
let mifiImsiColumn = XLSX.utils.decode_col("AF"); // 1
let mifiMsisdnColumn = XLSX.utils.decode_col("AG"); // 1
let fmt = '@'; // or '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)' or any Excel number format
/* get worksheet range */
let range = XLSX.utils.decode_range(worksheet['!ref']);
for ( let i = range.s.r + 1; i <= range.e.r; ++i) {
/* find the data cell (range.s.r + 1 skips the header row of the worksheet) */
let ref = XLSX.utils.encode_cell({r: i , c: mifiMsisdnColumn});
let ref1 = XLSX.utils.encode_cell({r: i , c: mifiImsiColumn});
/* if the particular row did not contain data for the column, the cell will not be generated */
if (!worksheet[ref] && !worksheet[ref1] ) { continue; }
/* `.t == "n"` for number cells */
if (worksheet[ref].t !== 'n' && worksheet[ref1].t !== 'n' ) {
worksheet[ref].z = fmt;
worksheet[ref1].z = fmt; }
}
workbook.SheetNames.push(sheetName);
workbook.Sheets[sheetName] = worksheet;
const wbout = XLSX.write(workbook, {bookType: 'xlsx', bookSST: false, type: 'binary'});
/* the saveAs call downloads a file on the local machine */
FileSaver.saveAs(new Blob([this.s2ab(wbout)], {type: 'application/octet-stream'}), `${filename}.xlsx`);
}
谢谢你的帮助 ..
解决方案
可以使用 excel js 插件来完成。用于ws.getCell('A1').numFmt = '0.00%'
标记列号类型百分比。有关更多信息,请参阅https://www.npmjs.com/package/exceljs#number-formats
推荐阅读
- abap - 无法访问语句
- oracle - Oracle Apex - 通过 URL 创建/传递/设置交互式报表 (IR) 过滤器作为参数
- go - 由于扩展字段错误,proto 文件无法编译
- google-cloud-platform - AI 平台内置图像分类算法不会在训练结束时导出模型
- r - 创建一个带有循环方差分析结果的表 r
- android - 使用 VolleyMultipart 请求在文件上传期间显示进度
- reactjs - 设置状态时如何将方法应用于字符串,反应钩子
- python-3.x - PyQt5让QDialog在允许用户输入之前等待进程完成
- sorting - DAX Related() 与 Power BI 中的多对多关系
- c# - 使用 .net 核心 json 模型绑定在无效 json 上引发 json 验证错误