C#を使用していくつかのセルが結合されたExcelシートを読み込もうとしています。別の投稿で、マージされたセルはコードの観点からはまだ存在していましたが、null値しかなかったと読みました。そのため、null値をスキップしようとしましたが、それでも不安定な結果が得られます。これが私が使用しているコードです。HTMLテーブルにスプレッドシートの値を入力することになっています。
private void Output_Excel_File()
{
string inputFileLocation = AppDomain.CurrentDomain.BaseDirectory + "/dashboard.xls";
DataSet ds = Get_Spreadsheet_Data(inputFileLocation, "Dashboard Statistics");
if (ds.Tables.Count > 0)
{
foreach (DataTable dt in ds.Tables)
{
int row = 0;
foreach (DataRow dr in dt.Rows)
{
int col = 0;
foreach (DataColumn dc in dt.Columns)
{
string cellValue = dr[dc].ToString();
cellValue = Regex.Replace(cellValue, "\n", "<br /");
if (cellValue == "X" || cellValue == null)
{
col++;
continue;
}
string index = "r" + row.ToString() + "c" + col.ToString();
Literal cellTarget = (Literal)form1.FindControl(index);
cellTarget.Text = cellValue;
col++;
}
row++;
}
}
}
}
特に、私のインデックス作成はオフで、次のようになっています。
cellTarget.Text = cellValue;
インデックスがHTMLのインデックスと一致しなくなると、常にnull参照例外がスローされます。
私はグーグルとグーグルをしましたが、私は困惑しています。アドバイスをいただければ幸いです。