2009-08-20 12 views
3

年前、私はデータテーブルを取得し、Excelファイルに保存する美しいシンプルなコードを見ました。vb.net winformアプリケーションでデータシートをExcelシートに保存する

このトリックは、Webライブラリ(httpの何か)を使用することでした。私はそれがストリームであると確信しています。

私は応答で多くのコードを見つけましたが、私はそれをwin-form環境で動作させることはできません。 セルコードでセルもあります。興味はありませんが、遅いです。

範囲やそれに近いものとして貼りたいですか?

ありがとう

答えて

2

私は、これはあなたが探しているコードであると考えている:

DataTable to Excel

それはHtmlTextWriterを使用しています。

+0

これは素晴らしい、自然ではなく、私は欲張りです:) 複数のデータシートを複数のExcelシートに保存するアプリケーションを作成したいと思います。 この方法で現在のデータテーブルを保存するシートを選択することはできますか? たHtmlTextWriter =新たHtmlTextWriter(SW) grid.RenderControl(HW) としてのDataTable SW =新規のStreamWriter(関数savepath + "c.xls")における各DTのために '' '' + "シート名" 薄暗いHWありがとうAsaf –

0

この種の機能を提供するコンポーネントライブラリが多数あります。

しかし、おそらく、最も単純にデータをCSVファイルとして出力し、そのデータをExcelに読み込むことができます。

0

私が気に入っているのは、データテーブルをグリッドに入れて、ユーザーが並べ替えてフィルタリングできるようにすることです。その後、クリップボードを使ってExcelにコピー/ペーストすることができます。

Private Sub mnuCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuCopy.Click 
    If dgvDisplaySet.GetClipboardContent Is Nothing Then 
     MsgBox("Nothing selected to copy to clipboard.") 
    Else 
     Clipboard.SetDataObject(dgvDisplaySet.GetClipboardContent) 
    End If 
End Sub 
0

あなたが示唆しただけのように、すべての特にジェイ

私の古いコードのおかげである:

それはここで私を待っています少なくとも次の時間;)

private void cmdSaveToExcel_Click(object sender, EventArgs e) 
     { 
      saveFileDialog1.Filter = "Excel (*.xls)|*.xls"; 
      if (saveFileDialog1.ShowDialog() == DialogResult.OK) 
      { 
       txtPath.Text = saveFileDialog1.FileName;    
      } 

      // create the DataGrid and perform the databinding 
      System.Web.UI.WebControls.DataGrid grid = new System.Web.UI.WebControls.DataGrid(); 
      grid.HeaderStyle.Font.Bold = true; 


      if (connDBs != null && rtxtCode.Text != "") 
      { 
       DataTable dt; 
       dt = connDBs.userQuery(rtxtCode.Text); // getting a table with one column of the databases names 
       //grdData.DataSource = dt; 
       grid.DataSource = dt; 
       // grid.DataMember = data.Stats.TableName; 

       grid.DataBind(); 

       // render the DataGrid control to a file 
       using (StreamWriter sw = new StreamWriter(txtPath.Text)) 
       { 
        using (HtmlTextWriter hw = new HtmlTextWriter(sw)) 
        { 
         grid.RenderControl(hw); 
        } 
       } 
       MessageBox.Show("The excel file was created successfully"); 
      } 
      else 
      { 
       MessageBox.Show("Missing connection or query"); 
      } 
     } 
関連する問題