xlsx 文件导出文件怎么设置所有的单元格 左对齐
// 成本分析数据导出 const exportcbDetaildata = () => { const data = [ ['类别', '计划工作量', '占比', '实际工作量', '占比', '利润'], arraylist1, arraylist2, arraylist3, arraylist4, arraylist5, arraylist6, arraylist7, arraylist9,arraylist8 ]; const wb = XLSX.utils.book_new(); const ws = XLSX.utils.aoa_to_sheet(data); // 设置单元格样式为左对齐 // 设置单元格样式 // ws['A1'].s = { // alignment: { // horizontal: 'left', // vertical: 'top', // }, // }; // // 通过循环设置其他单元格的左对齐 // for (let row = 1; row <= data.length; row++) { // for (let col = 1; col <= data[0].length; col++) { // const cellRef = XLSX.utils.encode_cell({ c: col - 1, r: row - 1 }); // if (!ws[cellRef]) ws[cellRef] = {}; // ws[cellRef].s = ws['A1'].s; // } // } // 设置单元格的样式 // 将工作表添加到工作簿 ws["!cols"] = [//设置每一列的宽度 { wch:10 }, { wch: 10 }, { wch: 10 }, { wch: 10 }, { wch: 10 }, { wch: 10 }, ] console.log('最新的数据看看', data, ws) XLSX.utils.book_append_sheet(wb, ws, 'Sheet1'); XLSX.writeFile(wb, '成本分析.xlsx'); };
Demo代码
<!-- * @Author: along * @Description: * @Date: 2024-04-17 16:04:19 * @LastEditors: along * @LastEditTime: 2024-04-17 16:04:22 * @FilePath: /table/index30.html--><!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> </head> <body></body> <script src="https://cdn.bootcdn.net/ajax/libs/xlsx/0.18.5/xlsx.mini.min.js"></script> <script> // 创建一个新的工作簿 const wb = XLSX.utils.book_new(); // 创建一个新的工作表 const ws = XLSX.utils.aoa_to_sheet([ ['Hello', 'World'], ['This', 'is', 'a', 'test'], ]); // 设置所有单元格左对齐 const range = XLSX.utils.decode_range(ws['!ref']); for (let R = range.s.r; R <= range.e.r; ++R) { for (let C = range.s.c; C <= range.e.c; ++C) { const cell_address = { c: C, r: R }; const cell = ws[XLSX.utils.encode_cell(cell_address)]; if (cell) { cell.s = { alignment: { horizontal: 'left', vertical: 'center', }, }; } } } // 将工作表添加到工作簿 XLSX.utils.book_append_sheet(wb, ws, 'Sheet1'); // 导出工作簿为XLSX文件 XLSX.writeFile(wb, 'left_aligned.xlsx'); </script></html>
要在 xlsx 文件中设置所有单元格左对齐,你需要遍历工作表中的每个单元格,并设置其样式。你已经注释掉了相关的代码,只需取消注释并稍作修改即可。下面是修改后的代码示例:
// 成本分析数据导出const exportcbDetaildata = () => { const data = [ ['类别', '计划工作量', '占比', '实际工作量', '占比', '利润'], arraylist1, arraylist2, arraylist3, arraylist4, arraylist5, arraylist6, arraylist7, arraylist9,arraylist8 ]; const wb = XLSX.utils.book_new(); const ws = XLSX.utils.aoa_to_sheet(data); // 设置单元格样式为左对齐 for (let row = 1; row <= data.length; row++) { for (let col = 1; col <= data[0].length; col++) { const cellRef = XLSX.utils.encode_cell({ c: col - 1, r: row - 1 }); if (!ws[cellRef]) ws[cellRef] = {}; ws[cellRef].s = { alignment: { horizontal: 'left', vertical: 'top', }, }; } } // 设置单元格的样式 ws["!cols"] = [//设置每一列的宽度 { wch:10 }, { wch: 10 }, { wch: 10 }, { wch: 10 }, { wch: 10 }, { wch: 10 }, ] console.log('最新的数据看看', data, ws) XLSX.utils.book_append_sheet(wb, ws, 'Sheet1'); XLSX.writeFile(wb, '成本分析.xlsx');};
在上面的代码中,我取消了设置单元格样式的注释,并修改了循环来遍历工作表中的每个单元格,并将每个单元格的样式设置为左对齐。现在,当你运行 exportcbDetaildata
函数时,它将生成一个 xlsx 文件,其中所有单元格都设置为左对齐。
在谷歌搜索StackOverflow之后,我还没有找到与这个问题相关的地方。目前我可以将空白单元格读取为空,但一次只能读取一个单元格。所以我必须写这样的东西: 这对我来说不太好,因为我对重复感到不满。我们可以设置返回?
我正在使用Excel::Writer::XLSX从数组中创建Excel文件。现在,我正试图从数据中创建一个格式化的表(尽可能多地创建,而不是将其返回到另一个文件中)。 首先,当我使用set_column()设置背景色时,该颜色将针对整个列进行格式化。是否有一种方法可以指定只访问文件中的内容?不幸的是,当程序运行时,它每次都是动态的,不知道表中的最后一行应该是什么。 第二,有没有办法根据单元格内部的
问题内容: 我想让可编辑JTables中的编辑器在开始编辑时选择单元格中的所有文本。我已经尝试了几件事,都是围绕从TableCellEditor.getTableCellEditorComponent方法返回的组件上调用JTextComponent.selectAll()进行的。我尝试过的所有方法均无济于事。 在最近的尝试中,我从Swing教程更改了SimpleTableDemo类,以使用自定义T
我是javafx的新手。我已经在核心java代码设置值表。但是现在我正在转换我的javafx项目来维护代码和改进设计。 我试图设置价值表视图,但我不知道如何设置价值表视图。 这是我用来挥杆的代码。 但我需要将javafx中的代码从JTable转换为TableView。但是tableview没有找到getModel()方法。 我进行了搜索,但没有找到如何设置表视图的值<请给我参考或提示。 提前谢谢。
问题内容: 我正在尝试创建一个仅显示数据且不允许进行任何编辑或选择的JTable。我通过运行将所有单元格设置为不可编辑: 但是我现在也尝试使所有单元格都无法选择。我发现该方法允许我在选择单元格时禁用整个行的选择,但这并没有阻止该单元格的选择。我浏览了的方法,但没有任何方法。有什么建议? 问题答案: 除了返回从,添加这些调用。