2011-12-09 82 views
0

我遇到以下問題:從數據集中獲取信息並放入工作表?

我給我的方法一個數據集,它應該把信息扔到一個excel文件中,這是一個我希望的格式模板。我創建了Excel文件有一個頭,一些過濾器和排序的事情,我把我的方法來填充頭,等之後的文件,但問題是,當我這樣做,我失去所有的格式,我不得不對模板。我正在使用這個類http://www.codeproject.com/KB/office/biffcsharp.aspx。我不確定,實現這個類的格式可能很簡單,或者它覆蓋了我所有的信息。

我的方法是這樣的,通過上面的鏈接類:

public void PopularSheet() 
{  
    string filename = "C:\\test" + System.Web.HttpContext.Current.Session["SYSTEMCLIENTID"].ToString()+ System.Web.HttpContext.Current.Session["SYSTEMUSERTYPEID"].ToString()+ System.Web.HttpContext.Current.Session["CLIENTID"].ToString()+".xls"; 
    File.Copy("C:\\test.xls", filename); 
    FileStream stream = new FileStream(filename, FileMode.OpenOrCreate); 
    ExcelWriter writer = new ExcelWriter(stream); 
    DataSet ds = GetDataSet(); 
    writer.BeginWrite(); 

    int jValue = ds.Tables[0].Columns.Count; 
    int iValue = ds.Tables[0].Rows.Count; 

    // Passa os dados do dataset para a planilha 
    for (int i = 0; i < iValue; i++) 
    { 
     // Lê todas as colunas da linha i 
     for (int j = 0; j < jValue; j++) 
     { 
      writer.WriteCell(i+2, j, ds.Tables[0].Rows[i][j].ToString()); 


     } 
    } 
    writer.EndWrite(); 
    stream.Close(); 
} 

我使用Excel庫也試過,HTTP://www.carlosag.net/tools/excelxmlwriter/,but我認爲爲了加載一個文件(以便我可以插入我需要的信息)我需要加載一個XML文件,這是不可能的!

我曾經提出在保存時問題的另一個庫,我能夠編輯工作表,然後當我保存和打開的是直通的代碼生成Excel文件,它會出來空。

我不能使用任何會強迫我安裝Excel,這就是爲什麼我想這些替代品。有什麼建議,我可以做什麼?

什麼,我需要做的:

  • 加載現有的Excel文件作爲「模板」
  • 拋出一個數據集中到文件
  • 保存與信息的文件,我投用的模板格式

回答

0

快速思考:您可以使用.csv而不是標準的.xls文件嗎? 如果是這樣,你可以很容易地填寫你的表格。

1

有一個叫ClosedXML這是一個用於創建OpenXML文件有用的庫。

相關問題