如何消除尾随空行/列

时间:2012-06-01 05:23:25

标签: c# excel csv interop xls

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

我的初始Excel工作表包含从A1到AZ列的数据,共100行。 我在CSV中只需要从A1到AP的数据,只需要50行。

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

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

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

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

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

3 个答案:

答案 0 :(得分:3)

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

以下是微软对此的评论:How to reset the last cell in Excel

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

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

也许您可以只读取您需要的数据并自行编写。

即。对于范围中的每一行,将行作为一个值作为一个对象数组,      转换为string,string.join数组,并以分隔符作为逗号并追加      到.csv文件。

答案 1 :(得分:1)

清除其他答案中建议的内容对我不起作用,在新工作表中复制已填充的列并覆盖旧CSV的工作原理。

答案 2 :(得分:0)

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