Excel シートを動的に作成し、同じシートに値を挿入していますが、一部のセルの値が間違った形式で挿入されています。
以下は、選択したセルのExcel シートの値が0002-9343である必要がありますが、 Feb-43として挿入されています。これは、Excel シートのその列 (列 D) の形式が間違っているためです。データを入力する前に、列 D 全体 (見出し D「data2」の下にあるすべてのセル) を「テキスト形式」に変更する必要があります。以下は、Excelシートを作成してデータを挿入するためのコードです
excel = new Application();
excel.Visible = false;
wb = (_Workbook)(excel.Workbooks.Add(System.Reflection.Missing.Value));
sheet = wb.Sheets.Add();
sheet.Name = "TestSheet1";
sheet.Cells[1, "A"].Value2 = "Id";
sheet.Cells[1, "B"].Value2 = "Name";
sheet.Cells[1, "C"].Value2 = "Data1";
sheet.Cells[1, "D"].Value2 = "Data2";
sheet.Cells[1, "E"].Value2 = "Data3";
for (int i = 0; i < 10; i++)
{
id = i;
result = object;
data = JsonConvert.DeserializeObject(result);
name = (data != null) ? data.name : string.Empty;
data1 = (data != null) ? data.data1 : string.Empty;
data2 = (data != null) ? data.data2 : string.Empty;
data3 = (data != null) ? data.data3 : string.Empty;
sheet.Cells[i + 2, "A"].Value2 = name;
sheet.Cells[i + 2, "B"].Value2 = data1;
sheet.Cells[i + 2, "C"].Value2 = data2;
sheet.Cells[i + 2, "D"].Value2 = data3;
}
string ExcelPath = Some_path;
wb.SaveAsExcelPath,XlFileFormat.xlWorkbookNormal, null, null, false, false, XlSaveAsAccessMode.xlShared, false, false, null, null, null);
wb.Close(true);
excel.Quit();
ここで、ループの前に、列 D の下のセルの形式をテキスト形式に変更する必要があります。c# のコードから同じことを行うには?