0

我有一个 CSV 文件,其中包含“1 A”、“2 A”、“3 A”等格式的标题。当我导入文件时,它们会转换为 1:00 AM、2:00 AM、3: 00 AM 等等。

我能做些什么来防止这种情况发生?我是否必须以某种方式更改文本的格式,以便 Excel 保持原样?如果是这样我需要添加什么?

4

2 回答 2

0

我也面临同样的问题,我通过关注funda摆脱了

首先转换成 UTF - 8

如果用户使用 Windows 添加 BOM(字节顺序标记)

如果用户使用 MAC 或其他操作系统(删除 BOM)

var is_Mac = navigator.platform.toUpperCase().indexOf('MAC') >= 0;
if (is_Mac) {
    var csvData = csv;
}
else {
    var BOM = "\uFEFF";
    var csvData = BOM + csv;
}
var csvFile = new Blob([csvData], { type: "text/csv;charset=utf-8" });
var urlHref = URL.createObjectURL(csvFile);

希望这能解决您的问题

于 2014-06-06T11:14:35.007 回答
0

我同意大卫的观点,用双引号引起来的值应该使 Excel 将列值视为文本,但使用列标题 - 谁知道。

一种可能的解决方案:在导入向导期间,您可以尝试更改“从行开始导入”=2 的值,然后确保“列数据格式”为文本。然后您可以手动输入列标题名称。

来自: http: //office.microsoft.com/en-us/excel-help/text-import-wizard-HP010102244.aspx

于 2013-04-25T22:41:30.623 回答