2011-12-09 4 views
0

私は以下の問題を抱えています:データセットから情報を取得し、ワークシートを挿入しますか?

私は自分のメソッドにデータセットを与え、私が望むフォーマットのテンプレートであるexcelファイルに情報をスローすることになっています。私が作成したExcelファイルには、ヘッダ、いくつかのフィルタとソートのものがあります。ヘッダーなどの後にファイルを設定するメソッドを設定しましたが、問題が発生したときに、テンプレート。私はこのクラスhttp://www.codeproject.com/KB/office/biffcsharp.aspxを使用しています。私は確かに、クラスの実装のためのフォーマットは本当の単純なものか、それは私が持っているすべての情報を上書きするかもしれません。

私の方法は、上記のリンクをクラスを使用して、次のようになります。私もエクセルライブラリ、HTTPを使用してみました

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

://www.carlosag.net/tools/excelxmlwriter/,but I私はそれに不可欠なXMLファイルをロードする必要があるので、私はそれに必要な情報を挿入することができるようにファイルをロードするために考える!

私が使用した別のライブラリでは、保存時に問題が発生したため、ワークシートを編集できました。コードを使用して生成されたExcelファイルを保存して開いたときに空白になります。

私はExcelをインストールするために何かを使用することはできません。そのため、私はこれらの選択肢を試しています。私ができることに何か提案はありますか?

私が行うために必要なもの:

  • ロード
  • iはテンプレート形式で投げたファイル
  • 保存情報を持つファイルにデータセットを投げ、「テンプレート」としてファイルをエクセル既存の

答えて

0

簡単な考え:標準の.xlsファイルの代わりに.csvを使用できますか? もしそうなら、テーブルを簡単に記入することができます。

1

OPENXMLファイルを作成するのに便利ですClosedXMLと呼ばれるライブラリがあります。