使用C#和Excel进行报表开发,七-设置单元格的显示格式

在Excel中,如果某个单元格的内容是数字,且比较长,默认情况下,会变为科学计数发表示,例如:123456789123456000会被表示为1.2345E+17,为了能够将数字按照普通的格式完全表示,就需要设置单元格的属性 ,下面是例子代码:

Excel.Application m_objExcel = null;

            Excel._Workbook m_objBook = null;

            Excel.Sheets m_objSheets = null;

            Excel._Worksheet m_objSheet = null;

            Excel.Range m_objRange = null;

            
            object m_objOpt = System.Reflection.Missing.Value;

            try
            {
                m_objExcel = new Excel.Application();

                m_objBook = m_objExcel.Workbooks.Open("e:\\1.xls", m_objOpt, m_objOpt, m_objOpt,
                            m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt,
                            m_objOpt, m_objOpt, m_objOpt, m_objOpt);



                m_objSheets = (Excel.Sheets)m_objBook.Worksheets;

                m_objSheet = (Excel._Worksheet)(m_objSheets.get_Item(1));

                m_objRange = m_objSheet.get_Range("A1", m_objOpt);

                m_objRange.NumberFormatLocal = "#";


                
                m_objBook.SaveAs("e:\\22.xls", m_objOpt, m_objOpt,

                m_objOpt, m_objOpt, m_objOpt, Excel.XlSaveAsAccessMode.xlNoChange,

                                                m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt);
            }

            catch (Exception ex)
            {

                MessageBox.Show(ex.Message);

            }

            finally
            {

                m_objBook.Close(m_objOpt, m_objOpt, m_objOpt);

                m_objExcel.Workbooks.Close();

                m_objExcel.Quit();

                System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objBook);

                System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objExcel);

                m_objBook = null;

                m_objExcel = null;

                GC.Collect();

            }