- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个使用 SheetJS 编写 excel 文件的 Vue 项目.
如何在生成的 excel 文件中设置列的格式?
我需要将 SalesOrderDate、CustomerRequestedDeliveryDate、ConfirmedDate 和 _ProductionDate 设置为日期格式。
generateExcel() {
axios.get('generateExcel?format=json', {
params: {
division: this.auth.user.current_division,
area: this.form.area,
month: this.form.month
}
})
.then(response => {
let structArray = []
for (let [index, value] of response.data.entries()) {
structArray.push({
SalesOrderNumber: value.so_id,
SalesOrderDate: (value.so_date.trim().length ? moment(value.so_date, 'MMMM, DD YYYY HH:mm:ss', true).format('MM/DD/YYYY'): ''),
ShipmentStatus: value.shipment_status,
Remarks: value.remarks,
ID: value.id,
ModelName: value.model_name,
ModelNumber: value.model_id,
Qty: value.qty,
CustomerRequestedDeliveryDate: (value.requested_delivery_date.trim().length ? moment(value.requested_delivery_date, 'MMMM, DD YYYY HH:mm:ss', true).format('MM/DD/YYYY'): ''),
ConfirmedDate: (value.confirmed_date.trim().length ? moment(value.confirmed_date, 'MMMM, DD YYYY HH:mm:ss', true).format('MM/DD/YYYY'): ''),
'ProductionDateBy': value.production_date_by,
'_ProductionDate': (value.production_date.trim().length ? moment(value.production_date, 'MMMM, DD YYYY HH:mm:ss', true).format('MM/DD/YYYY'): ''),
'_ProductionRemarks': value.production_remarks,
})
}
this.sheet.jsondata = structArray
let ws = XLSX.utils.json_to_sheet(this.sheet.jsondata)
ws['!autofilter'] = { ref: `A1:L${response.data.length+1}` }
ws.columns = [
]
let wb = XLSX.utils.book_new()
wb.Props = {
Title: "Production Schedule Template",
Author: "Admin"
}
XLSX.utils.book_append_sheet(wb, ws, "Schedule")
let wbout = XLSX.write(wb, {type:"array", bookType:"xlsx"})
saveAs(
new Blob([wbout],
{type:"application/octet-stream"}
), "production_schedule.xlsx")
})
.catch(error => {
this.$store.commit('SET_ALERT',{type:'error', message:[error]})
console.log(error)
})
},
最佳答案
不幸的是,在 SheetJS 中没有可以轻松格式化列的功能。根据 this issue ,这里有一种方法可以做到这一点:
var colNum = XLSX.utils.decode_col("B"); //decode_col converts Excel col name to an integer for col #
var fmt = '$0.00'; // or '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)' or any Excel number format
/* get worksheet range */
var range = XLSX.utils.decode_range(ws['!ref']);
for(var 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) */
var ref = XLSX.utils.encode_cell({r:i, c:colNum});
/* if the particular row did not contain data for the column, the cell will not be generated */
if(!ws[ref]) continue;
/* `.t == "n"` for number cells */
if(ws[ref].t != 'n') continue;
/* assign the `.z` number format */
ws[ref].z = fmt;
}
关于javascript - SheetJS如何格式化列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48535736/
我正在尝试从Excel工作表的指定范围生成一个HTML表,但不是使用SheetJS生成整个工作表。SheetJS有一个函数,XLSX.utils.sheet_to_html(ws,opts),它可以将
我正在尝试从Excel工作表的指定范围生成一个HTML表,但不是使用SheetJS生成整个工作表。SheetJS有一个函数,XLSX.utils.Sheet_to_html(ws,opts),它可以将
引用这个例子https://github.com/SheetJS/js-xlsx/blob/master/tests/write.js ,它在 xlsx 电子表格中没有任何单元格公式的实现我尝试使用
我正在使用 sheetjs。空单元格不会填充到包含标题的 json 对象中。如果未输入列,我也需要该信息。这是我的代码: workbook.SheetNames.forEach((sheetName)
我正在尝试创建一个数组,其中每个“工作日”都是一个具有索引和开始/结束日期的对象,但我不知道如何操作 JSON 以具有特定结构。 我正在使用以下包:https://github.com/SheetJS
有一个 CSV 文件,我尝试读取它,它包含具有值的字段 "Aprobil P 0.1%" CSV 的简短示例: "Country";"Product Family" "Germany";"Aprobi
当我使用该方法上传文件 xlsx 时,我正在使用 SheetJS _file(file) { /* Boilerplate to set up FileReader */ const
我不知道如何正确提出我的问题,但我有获取 HTML 表格数据并将其放入 excel 的代码,但它从位置 A1 开始,假设我想从 C3 开始。 在这里我可以导入一些带有样式的 xlsx 复制它并用这种方
我正在尝试使用 SheetJS/xlsx 导出 excel 并希望格式化单元格。我正在使用以下代码并且正在生成 excel 但无法格式化单元格。任何人都可以指出问题或可以为此分享完整的示例代码吗? 加
我成功使用了example from sheetJS's website ,像这样: /* create new workbook */ var workbook = XLSX.utils.book_
我引用此示例来导出工作表 https://github.com/SheetJS/js-xlsx/issues/817 。细胞怎么办样式如背景颜色、字体大小和增加宽度单元格以使数据完全适合。我已经阅读了
我有一个对象数组。默认情况下,sheet_to_json 使用对象键作为 header 。但是,我需要在不显式修改我的对象数组的情况下重命名这些 header 。 这可能吗? 最佳答案 我正在分享我找
提前感谢您查看此问题!我正在尝试使用 SheetJS 读取 .xlsx 文件,但在使用通过 Excel 格式化为自定义“yyyy/mm/dd hh:mm:ss”的日期列时遇到了一些问题。所有这些日期都
我需要使用 sheetjs 创建一个包含合并单元格的 xlsx。 数据: [ { "id": "nick", "items": [ { "name":
我按照这里的演示操作: https://github.com/SheetJS/js-xlsx/tree/master/demos/electron 我可以将 excel 文件拖到我的 electron
我正在尝试将 Excel 电子表格 (.xlsx) 解析为 JSON。 我正在使用 SheetJS它的节点包。 但是我无法实现这么简单的事情 - 如何获得与内部存储格式相同的列名? 下面是我的代码:
我的 SAPUI5 应用表数据之一需要能够导出到 Excel/电子表格。 sap.ui.core.util.Export不符合导出数据的标准,特别是它只在1列中写入数据。 导出数据示例: 从 SAPU
我有一个包含一些数据的 JSON,我想将它导出到 Excel。问题是我无法在保存到 Excel 时获得正确的日期格式。我想要实现的日期格式类似于 2020-07-30 07:31:45 我遵循了这篇文
我有一个带有 id 和数据的多个标签数组: [ { "id": "tagID1", "error": { "code": 0, "success": true }, "da
我在 angular 7 中使用 sheetjs。我从我的 json 导出 excel。但是 excel 将我的日期转换为 02/29/2019 格式。但是,我发送的是“29.02.2019”。我以字
我是一名优秀的程序员,十分优秀!