天道酬勤

博观而约取,厚积而薄发!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

            }