代码改变世界

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

  观海看云  阅读(115)  评论(0编辑  收藏  举报

内容摘要:在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();
  }

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
点击右上角即可分享
微信分享提示