我们已经使用java中的Open CSV库生成了一个.csv文件。我们的要求是将扩展名从.csv更改为.xls。
当我们盲目地更改扩展名(在java代码中),在java中将文件名重命名为.xls时,数据不会正确对齐或格式化。
在.csv文件中,当我们用excel打开它时,表格中的值是正确对齐的。但当我们更改为.xls并打开它时,所有内容都是逗号分隔值,并填充在一列中,也就是说,表中的值不会填充在相应的列中。请看下面的截图。
发布于 2017-05-25 11:03:26
那么,为什么不在excel中打开.csv文件,然后执行“另存为”,并为文件类型选择excel电子表格。
这就是你所遗漏的部分。更改扩展名不会更改文件类型。您只是改变了大多数计算机查看文件的方式。在文本编辑器中打开一个真正的excel电子表格,我向您保证,您看到的不仅仅是逗号分隔值。
发布于 2017-05-25 18:33:15
你应该寻找vbs脚本,我知道我正在做相反的事情(从xlsx到csv)使用我发现的here脚本之一,所以我猜应该可以做相反的事情,我希望你在那里找到你的解决方案!
下面是将xlsx转换为csv的脚本:
if WScript.Arguments.Count < 2 Then
WScript.Echo "Error! Please specify the source path and the destination. Usage: XlsToCsv SourcePath.xls Destination.csv"
Wscript.Quit
End If
Dim oExcel
Set oExcel = CreateObject("Excel.Application")
Dim oBook
Set oBook = oExcel.Workbooks.Open(Wscript.Arguments.Item(0))
oBook.SaveAs WScript.Arguments.Item(1), 6
oBook.Close False
oExcel.Quit发布于 2017-05-24 13:29:20
我认为您需要为.xls使用"Apache POI - the Java API“
https://stackoverflow.com/questions/44149619
复制相似问题