2012-06-01 58 views
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行。沒有空的尾隨「,」S。有沒有辦法?

回答

3

您所描述的問題看起來像是「Last Cell」問題。即使在刪除行/列後,最後一個單元格也是數據的原始結尾。

下面是微軟不得不說的是:How to reset the last cell in Excel

我似乎記得這樣做的編程方式,但對我的生活,我不記得如何。

看了看那些信息,也許你可以重新考慮如何做到這一點。也許你可以只讀取你需要的數據並自己寫出來。

即對於範圍的每一行,獲得行作爲這將是對象的陣列, 轉換爲字符串的數組,與的string.join定界符作爲逗號和追加 到.csv文件的值。

+0

這對我有效。只需選擇空列,然後在清除菜單下選擇全部。 – wsams

+0

@wsams,不工作我,什麼工作是複製填充列在一個新的工作表和覆蓋舊的CSV文件。 –

0

只需在Excel中選擇尾部空列,右鍵單擊並選擇:清除內容。然後保存。

1

按照另一個答案中的建議清除內容對我來說不起作用,那麼工作是在新工作表中複製填充的列並覆蓋舊的CSV。