Excel Interop を使用してデータを Excel にエクスポートしています。D 範囲や E 範囲などの範囲を数値形式として作成したいと考えています。
eg: 112.36 or 400.00 it will be upto two decimal places
Excelにエクスポートした後、400ではなく400.00として値が表示されるはずです。
My code is below,
try
{ int column = 0,row = 0;
//Start Excel and get Application object.
oXL = new Excel.Application();
oXL.Visible = false;
//Get a new workbook.
oWB = (Excel._Workbook)(oXL.Workbooks.Add(Missing.Value));
oSheet = (Excel._Worksheet)oWB.ActiveSheet;
oRng = oSheet.UsedRange;
object missing = System.Reflection.Missing.Value;
for (int k = 1; k <= dt.Columns.Count; k++)
{
oRng.Cells.set_Item(1, k, dt.Columns[k-1].ToString());
}
foreach (DataRow r in dt.Rows)
{
row++;
column = 0;
foreach (DataColumn c in dt.Columns)
{
oXL.Cells[row + 1, ++column] = r[c.ColumnName];
}
}
Excel.Range newRange = oSheet.get_Range("D2", "D"+oSheet.UsedRange.Columns.Count);
newRange.NumberFormat="#,##";
oWB.SaveAs(@"D:\Test\Report.xls",Excel.XlFileFormat.xlXMLSpreadsheet, missing, missing, false, false, Excel.XlSaveAsAccessMode.xlNoChange,
missing, missing, missing, missing, missing);
}