我们有一个Web应用程序,可以导出包含UTF-8的外来字符的CSV文件,没有BOM.Windows和Mac用户都在Excel中获得垃圾字符.我尝试用BOM转换为UTF-8; Excel/Win很好用,Excel/Mac显示乱码.我正在使用Excel 2003/Win,Excel 2011/Mac.这是我尝试过的所有编码:
Encoding BOM Win Mac
-------- --- ---------------------------- ------------
utf-8 -- scrambled scrambled
utf-8 BOM WORKS scrambled
utf-16 -- file not recognized file not recognized
utf-16 BOM file not recognized Chinese gibberish
utf-16LE -- file not recognized file not recognized
utf-16LE BOM characters OK, same as Win
row data all in first field
Run Code Online (Sandbox Code Playgroud)
最好的是具有BOM的UTF-16LE,但CSV不被识别.字段分隔符是逗号,但分号不会改变.
是否有任何编码在两个世界都有效?
我有一个导出函数,它读取整个数据库并创建一个包含所有记录的.xls文件.然后将文件发送到客户端.
当然,导出完整数据库的时间需要很多时间,并且请求很快就会以超时错误结束.
处理这种情况的最佳解决方案是什么?
我听说过一些关于使用Redis建立队列的事情,但这需要两个请求:一个用于启动将生成文件的作业,另一个用于下载生成的文件.
这是否可以通过客户的单一请求进行?
我遵循了excel4node 包的基本使用教程。
为了运行代码,我有一个 https 函数,它将在与本地系统Excel.xlsx相同的目录中创建一个文件。index.js
然而,问题是每次我调用该函数时,Excel.xls都会创建一个零字节文件。
函数体是这样的:
const createXlxsFile = (req, res) => {
const xl = require('excel4node');
// Create a new instance of a Workbook class
const workbook = new xl.Workbook();
// Add Worksheets to the workbook
const worksheet = workbook.addWorksheet('Sheet 1');
const worksheet2 = workbook.addWorksheet('Sheet 2');
// Create a reusable style
const style = workbook.createStyle({
font: {
color: '#FF0800',
size: 12
},
numberFormat: '$#,##0.00; ($#,##0.00); -'
});
// Set value of …Run Code Online (Sandbox Code Playgroud)