使用C#和Excel进行报表开发(7)

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

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

作者:wpf之家
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
原文地址:https://www.cnblogs.com/wpf123/p/2347388.html