クエリから入力したデータテーブルをエクスポートしようとしていますが、最後の行で「無効なセル値」というメッセージが表示されています。空のDB値をExcellにエクスポート
これは、列にNULL値が含まれている場合にのみ発生します。 null値を文字列で置き換えるか、または空白としてExcelファイルにnull値を書き込むようにデータテーブルを変更するにはどうすればよいですか?
これは私が持っているコードです:
DataSet ds = new DataSet("New_DataSet");
DataTable dt = new DataTable("New_DataTable");
ds.Locale = System.Threading.Thread.CurrentThread.CurrentCulture;
dt.Locale = System.Threading.Thread.CurrentThread.CurrentCulture;
OracleDataAdapter adptr = new OracleDataAdapter();
try {
con.Open();
var oracmd = con.CreateCommand();
oracmd.CommandText = "select Column1,Column2 from Test";
adptr.SelectCommand = oracmd;
adptr.Fill(dt);
con.Close();
ds.Tables.Add(dt);
SaveFileDialog saveFileDialog1 = new SaveFileDialog
{
Filter = "Excell files (*.xls)|*.xls";
RestoreDirectory = true;
};
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
ExcelLibrary.DataSetHelper.CreateWorkbook(saveFileDialog1.FileName, ds);
'、 、文書化されていない形式。それを生成する唯一の信頼できる方法は、Excelをローカルにインストールすることでした。過去12年間に使用されたフォーマット、 'xlsx'はよく書かれており、さまざまなSDKやライブラリによって直接生成されます。 [EPPlus](https://www.nuget.org/packages/EPPlus/)のようなライブラリを使って、単純な 'sheet.LoadFromDataTable(dt);'を使って実際のxlsxファイルを生成することができます。 ](https://epplus.codeplex.com/wikipage?title=WebapplicationExample)。 –
'xls'は、Googleスプレッドシートや有料の定期購読をしていない他のプロバイダでもサポートされています。 –
Panagiotisに完全に同意しますが、質問に答えるには、MSSQLのISNULL()に相当するOracleを使用して、ヌル値をスペースなどで置き換えてください。 – Crowcoder