5

我正在使用 Microsoft Interop 将 excel 文件转换为 csv 文件。我使用 sheet.SaveAs 函数。

我最初的 excel 表有 100 行的从 A1 到 AZ 列的数据。我在 CSV 中只需要从 A1 到 AP 的数据,并且只需要 50 行。

使用 Range 函数,我删除了第 51-100 行,我清除了相同行的内容,当我保存为 CSV 时,我发现第 51-100 行如下:(只是逗号)。我不想在 CSV 中看到这些逗号。

,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,

AQ-AZ 列也是如此。我不希望 CSV 中的这些数据。我使用 Range 功能删除、清除内容,但这些 AQ-AZ 列在 CSV 文件中显示为“,,,,,,,,,,,,,,,,,,,,,”。

有没有办法将 XLS 保存为 CSV,只有我想在 CSV 文件中看到的范围。有没有办法控制进入 CSV 文件的范围?

简而言之,我想在 CSV 文件中查看 A1 到 AP 列的 50 行数据。没有空的尾随“,”。有办法吗?

4

3 回答 3

3

您描述的问题似乎是“最后一个单元”问题。最后一个单元格是数据的原始结尾,即使在您删除行/列之后也是如此。

以下是微软对此的评价:如何重置 Excel 中的最后一个单元格

我似乎记得这样做的程序化方式,但对于我的生活,我不记得如何。

看过这些信息后,也许您可​​以重新考虑如何做到这一点。

也许您可以只读取您需要的数据并自己写出来。

即对于范围内的每一行,将行作为一个值获取,该值将是一个对象数组,转换为字符串数组,string.join 分隔符作为逗号并附加到 .csv 文件。

于 2012-06-01T05:45:40.360 回答
2

按照另一个答案中的建议清除内容对我不起作用,起作用的是在新工作表中复制填充的列并覆盖旧的 CSV。

于 2016-02-24T13:17:55.053 回答
0

只需在 Excel 中选择尾随的空列,右键单击并选择:清除内容。然后保存。

于 2015-11-04T06:10:57.300 回答