C# Excel互操作。将xls另存为csv而不丢失精度

C# Excel互操作。将xls另存为csv而不丢失精度,c#,excel,C#,Excel,我想使用Excel interop将工作表另存为CSV文件。为此,请使用: sheet.SaveAs(tempfile, Microsoft.Office.Interop.Excel.XlFileFormat.xlCSVWindows); 导致精度损失。迭代每个单元格并构建CSV不是一个选项,因为它非常慢。从范围中获取值数组也不好,因为我无法通过这种方式获取单元格的NumberFormat 我注意到精度会丢失,因为在导出到CSV的过程中,保存的值是显示的值,而不是单元格中实际存在的值 有什么建

我想使用Excel interop将工作表另存为CSV文件。为此,请使用:

sheet.SaveAs(tempfile, Microsoft.Office.Interop.Excel.XlFileFormat.xlCSVWindows);
导致精度损失。迭代每个单元格并构建CSV不是一个选项,因为它非常慢。从范围中获取值数组也不好,因为我无法通过这种方式获取单元格的NumberFormat

我注意到精度会丢失,因为在导出到CSV的过程中,保存的值是显示的值,而不是单元格中实际存在的值


有什么建议吗?

我通常处理10个或更多有效数字的值,并且从未注意到任何问题。您需要多少精度?最多15位有效数字的值。如果您在保存之前将显示格式设置为15位有效数字会怎么样?您也可以将所有数据读入C对象[,],然后用C编写CSV文件,而不是要求excel保存。Doug,如何在C中执行此操作?Dan,问题是要写CSV,我需要知道NumberFormat,因为它包含单元格是否包含数字或百分比的信息。我不看每个单元格就看不懂数字格式。rpc调用太多了。