2017-06-08 7 views
0

ClipboardCopyModeを使用した後、ExcelでDataGridViewをエクスポートしています。しかし、セルが正常に調整されていないため、ヘッダーとセルの幅/高さの書式を設定します。VB.NETでExcelをフォーマットする

また、DataGridViewのデータとは別のデータを追加したいとします。

これは私が持っているサブのコードです:

 Dim appExcel As Excel.Application 
    Dim wbExcel As Excel.Workbook 

      System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.CreateSpecificCulture("es-US") 

      If Combo.SelectedValue.ToString().Trim() = "Something" Then 

       dgv.SelectAll() 
       dgv.ClipboardCopyMode = DataGridViewClipboardCopyMode.EnableAlwaysIncludeHeaderText 
       Clipboard.SetDataObject(dgv.GetClipboardContent()) 

      End If 

     appExcel = New Excel.Application 
     appExcel.SheetsInNewWorkbook = 1 
     wbExcel = appExcel.Workbooks.Add 
     appExcel.Visible = True 

     wbExcel.Worksheets(1).Range("A3").Select() 
     wbExcel.Worksheets(1).Paste() 

は、どのように私はこれらの事を行うと、私のエクスポートExcelを美化することができますか?セルのスタイルを設定するには、事前

答えて

1

おかげで、あなたはExcel.Styleを作成して、範囲に適用することができます。 (レンジの場合は、ちょうどxlWorksheetようなものを使用範囲/セルのスタイルを設定すると

Dim RptHeader As Excel.Style = xlWorksheet.Application.ActiveWorkbook.Styles.Add("RptHeader") 
RptHeader.Font.Bold = True 
RptHeader.Font.Size = 14 
RptHeader.Interior.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.LightSteelBlue) 
RptHeader.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter 

:次にスタイルを作成します

Dim xlWorksheet As Excel.Worksheet = wbExcel.Worksheets(1) 

:まず、次のようなワークシートへの参照を取得する必要があります。

:範囲( "A1:A2")。スタイル):セルの幅/高さについては、基本的な構文は次のように

xlWorksheet.Cells(1, 1).Style = "RptHeader" 

...を探します

あなたは列が「正常に調整」されていないと言う場合は、しかし、私はあなたにもそうのように行うことができる自動調整、話をしている感覚を得る:ないデータを追加するには

xlWorksheet.Range("A:XFD").EntireColumn.AutoFit() 

をDataGridViewのからのコピーの一部は、単にあなたが好き好きにセルの値を設定します。あなたの答えのための

xlWorkSheet.Cells(1, 2) = "1234" '1 being the row-index, 2 the column-index 
+0

おかげで、よく、私はcolumnWidthのプロパティを便利に遭遇、しかし不思議な、私は自動調整を入れたときに() 、それは細胞を修正しません。 また、スタイルを適用すると、テーブルのヘッダーの代わりにテーブルの直後に配置されます。 そして、私は私の質問に入れて忘れてしまったコードを少し追加しました – KPavezC

+0

今私はいくつかの編集を行い、スタイルプロパティはほぼ正しく動作します – KPavezC

関連する問題