私の目標は、単一の csv 文字列を Excel で複数の列に変換することRange.TextToColumns()
です。
列にコンマを含めることができる csv ファイルがあります。その場合、列の値には二重のクォートがあります。そのため、その問題を回避するために、行末で分割して個々の行を取得しています。私の計画は、各csv行を各Excel行の単一セルに配置し、Text to columns関数を使用して、列値内のコンマを気にせずに列値をまっすぐに取得することです.
現在のコード:
string row = lines[i - 1]; //single CSV row
var startCell = (Range)worksheet.Cells[i, 1];
var endCell = (Range)worksheet.Cells[i, 1];
var writeRange = worksheet.get_Range(startCell, endCell);
writeRange.Value2 = row;
startCell.TextToColumns(startCell, XlTextParsingType.xlDelimited
, XlTextQualifier.xlTextQualifierDoubleQuote, false
, false, false, true, false, false, false
, XlColumnDataType.xlGeneralFormat, false, false, false);
このコードを実行すると、複数の列を持つのではなく、各行の 1 つのセルにすべての行データが表示されます。
Excel シートで Text to Columns を実行するときに使用する手動のアプローチと並行してコードを記述しました。手動のアプローチでは期待どおりの結果が得られましたが、ここで c# を実行すると同じことが失敗します。
私のアプローチに間違いがある場合は指摘してください。または、何らかの方法を示してください。
前もって感謝します。