5

Microsoft Interop を使用して、Excel ファイルを CSV ファイルに変換しています。sheet.SaveAs 関数を使用します。

私の最初の Excel シートには、100 行の A1 列から AZ 列までのデータがあります。CSV には、A1 から AP までのデータと 50 行のみが必要です。

Range 関数を使用して、row51-100 を削除し、同じ行の内容をクリアします。CSV として保存すると、次のように行 51-100 が見つかります: (コンマのみ)。これらのカンマを CSV に表示したくありません。

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

列 AQ-AZ も同様です。これらのデータを CSV で保存したくありません。Range 関数を使用してコンテンツを削除、クリアしても、これらの AQ-AZ 列は CSV ファイルに「,,,,,,,,,,,,,,,,,,,」として表示されます。

XLS を CSV として保存し、CSV ファイルに表示したい範囲のみを保存する方法はありますか。CSV ファイルに入る範囲を制御する方法はありますか?

つまり、列A1からAPまでの50行のデータだけをCSVファイルに表示したいのです。末尾に空の「,」はありません。方法はありますか?

4

3 に答える 3

3

あなたが説明している問題は「最後のセル」の問題のようです。行/列を削除した後でも、最後のセルはデータの元の終わりです。

これはMicrosoftがそれについて言わなければならないことです: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 に答える