0

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);  

}
4

1 に答える 1

0

この数値形式を試してください:

newRange.NumberFormat = "#.##0,00";
于 2013-02-18T21:16:58.057 に答える