第六章   Excel報表開發

                       第六章    Excel報表開發

1.excel導入到數據庫 (ADO)

   

OleDbConnection conn = new     OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\";Data Source=" + path);
conn.Open();
OleDbDataAdapter da = new OleDbDataAdapter("select * from [Sheet4$]", conn);
//填充
DataSet ds = new DataSet();
da.Fill(ds);
string sql = string.Empty;
for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
{
    sql += string.Format("insert into ExcelTable values('{0}','{1}','{2}')", ds.Tables[0].Rows[i][0].ToString(), ds.Tables[0].Rows[i][1].ToString(), ds.Tables[0].Rows[i][2].ToString());
}
int rowCount = sqlhlper.runsql(sql);
State = "ok";

2.數據庫中的數據導出到excel (服務器)

   (1)引入頭文件 :using Excel=Micosoft.office.Interop.Excel;

   (2)創建應用程序對象

   (3)創建workbook對象

   (4)創建worksheet對象

   (5)操作每一行每一列的單元格

   (6)保存

   (7)退出程序

   例如:

       

//創建應用程序
Excel.Application app = new Excel.Application();
//創建workbook對象
Excel.Workbook workbook = app.Workbooks.Add(true);
//創建worksheet對象
Excel.Worksheet worksheet = workbook.Worksheets[1];
worksheet.Name = "sheet1";
//操作單元格
//操作列
for (int col = 0; col < ds .Tables [0].Columns .Count ; col++)
{
    worksheet.Cells[1, col + 1] = ds.Tables[0].Columns[col].ColumnName;
}
//操作行
for (int i = 0; i < ds .Tables [0].Rows .Count ; i++)
{
    for (int j = 0; j < ds .Tables [0].Columns .Count ; j++)
    {
        worksheet.Cells[i + 2, j + 1] = ds.Tables[0].Rows[i][j].ToString();
    }
}
//保存(服務器)
workbook.SaveAs(Server.MapPath(@"~/studens.xls"));
//退出
app.Workbooks.Close();
app.Quit();
app = null;



3.excel導入Gridview

   (1)正常

           

string path =Server .MapPath("~/GFbook.xls");
OleDbConnection conn =new OleDbConnection                                         ("Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=\"Excel 8.0;\";Data Source="+path);
conn.Open();
//讀取數據
OleDbDataAdapter adp = new OleDbDataAdapter("select * from [sheet1$]", conn);
//將數據填充到dataset中
DataSet ds = new DataSet();
adp.Fill(ds);
//關閉
conn.Close();
//釋放
adp.Dispose();
//將數據綁定到gridview上
gvExcel.DataSource = ds;
gvExcel.DataBind();


   (2)混排(HDR = YES;IMEX=1)

       

//前八行混合形式
string path = Server.MapPath("~/GFbook.xls");
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\";Data Source=" + path);
conn.Open();
//讀取數據
OleDbDataAdapter adp = new OleDbDataAdapter("select * from [sheet2$]", conn);
//將數據填充到dataset中
DataSet ds = new DataSet();
adp.Fill(ds);
//關閉
conn.Close();
//釋放
adp.Dispose();
//將數據綁定到gridview上
gvExcel.DataSource = ds;
gvExcel.DataBind();


   (3)前8排 (設置TypeGue***ows=0)  

       

string path = Server.MapPath("~/GFbook.xls");
OleDbConnection conn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\";Data Source=" + path);
conn.Open();
//讀取數據
OleDbDataAdapter adp = new OleDbDataAdapter("select * from [sheet3$]", conn);
//將數據填充到dataset中
DataSet ds = new DataSet();
adp.Fill(ds);
//關閉
conn.Close();
//釋放
adp.Dispose();
//將數據綁定到gridview上
gvExcel.DataSource = ds;
gvExcel.DataBind();


4.數據庫中的數據導出到客戶端(客戶端)

   (1)Aspose.cells組件:

       引入using Aspose .excel;

 

   (2)創建workbook工作薄

       workbook wb =new workbook();


   (3)創建worksheet對象

       worksheet ws=wb.worksheets.add("xxx");


   (4)操作獎勵單元格

       Cells cells =ws.Cells;

       cells[A1].Putvalue("value");


   (5)保存對象

       SaveOptions so = wb.SaveOptions ;

       so .SaveFormart = SaveFormart.auto;//默認的類型

       wb.save(Response,"文件名",ContentDispostion.Attachment,so);

       

5.office api(excel)

6.2003版本的連接字符串:

        OleDbConnection conn =new OleDbConnection ("Provider=Microsoft.Jet.OLEDB.4.0;                                         Extended Properties=\"Excel 8.0;\";Data Source="+path);


7.2007版本的連接字符串:

        OleDbConnection conn =new OleDbConnection ("Provider=Microsoft.ACE.OLEDB.12.0;                                     Extended Properties=\"Excel 12.0;\";Data                                                                                   Source="+path);


8.添加頭文件:  using  system.Data.oleDB;

9.當前程序路徑:

      (1)所在路徑: system.AppDomain.CurrentDomain.BaseDireCtory;

      (2)文件執行路徑:system .Environment.CurrentDdirectory;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章