如何消除尾随空行/列

问题描述 投票:0回答:4

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

我最初的 Excel 工作表包含从 A1 到 AZ 列的 100 行数据。 我在 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 行的数据。没有空的尾随“,”。 有办法吗?

c# excel csv interop xls
4个回答
3
投票

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

以下是 Microsoft 对此的说法:如何重置 Excel 中的最后一个单元格

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

查看该信息后,也许您可以重新思考如何做到这一点。

也许您可以直接读取所需的数据并自己写出来。

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


2
投票

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


0
投票

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


0
投票

我在复杂的 Excel 文件(多页)中也遇到了这个问题。

我无法通过单击整行上的“删除”来删除空行。我检查结果的方法是将页面导出为

"CSV+utf8"
,然后将
*.csv
文件作为
notepad++
下的文本文件打开。我可以看到只有逗号 (',') 的尾随行。

但是我输入了一个虚拟单词(在我的例子中是“foobar”),然后然后我在整行上单击“删除”,然后就起作用了。

© www.soinside.com 2019 - 2024. All rights reserved.