程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 使用C#和Excel進行報表開發(3)(1)

使用C#和Excel進行報表開發(3)(1)

編輯:關於C語言

有的web項目選用Excel作為報表方案,在服務器端生成Excel文件,然後傳送到客戶端,由客戶端進行打印。在國內的環境下,相對PDF方式,Excel的安裝率應該比pdf閱讀器的安裝率要高,同時,微軟也為C#操作Excel提供了完備的接口,雖然ZedGraph和其他的商業報表工具生成的統計圖也很好,但是人家微軟畢竟是大品牌,值得信賴。

本文介紹使用C#調用Excel來生成統計圖(Chart)的以及Chart圖中各部分控制的一些方法。

在上一篇使用C#和Excel進行報表開發(二)-操作統計圖(Chart)中,我們使用一個預定義的Excel文件,通過改變Chart中的某個值來生成統計圖。本文進一步演示如何從指定的數據從頭生成統計圖。

首先當然要添加對Excel的引用,然後需要定義幾個要用到的Excel對象:

Excel.Application ThisApplication = null;
  Excel.Workbooks m_objBooks = null;
  Excel._Workbook ThisWorkbook = null;
  Excel.Worksheet xlSheet = null;

在創建一個新的_WorkBook對象的時候,默認的會含有3個Sheet,所以為了顯示清晰,將多余的Sheet都刪掉:

private void DeleteSheet()
  {
  foreach (Excel.Worksheet ws in ThisWorkbook.Worksheets)
  if (ws != ThisApplication.ActiveSheet)
  {
  ws.Delete();
  }
  foreach (Excel.Chart cht in ThisWorkbook.Charts)
  cht.Delete();
  }

再下來需要添加用來給Chart提供數據的Sheet:

private void AddDatasheet()
  {
  xlSheet = (Excel.Worksheet)ThisWorkbook.
  Worksheets.Add(Type.Missing, ThisWorkbook.ActiveSheet,
  Type.Missing, Type.Missing);
  xlSheet.Name = "數據";
  }

生成Chart用到的數據,因為是演示,所以這裡使用生成隨機數的方法來替代從數據庫中提取數據。

private void LoadData()
  {
  Random ran = new Random();
  for (int i = 1; i <= 12; i++)
  {
  xlSheet.Cells[i, 1] = i.ToString() + "月";
  xlSheet.Cells[i, 2] = ran.Next(2000).ToString();
  }
  }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved