Microsoft ExcelのDataTableに自動的に輸出

今日は長い時間私を務め、まだ私はまだそれを使用した例を示したいと思います。
我々は関係なく、列または持っている行の数のExcel完全にDataTableをエクスポートする例を行います。

そこにこれを行うには多くの方法であるが、この方法はExcelの任意のバージョンのために働くので、私はそれが本当に便利な場合があります。 Excelの新しいバージョンcompatilidadの問題については、256列を処理します。

我々が最初に必要なことは、Microsoft.Office.Interop.Excelへの参照を追加することであり、我々は次のようにします。

Importar referencia a Excel

Excelへの参照をインポートします。

Importar referencia Excel

Excelの参照をインポートする

その後、我々は、フォーム、ボタン、DataGridViewコントロールとプログレスバーが必要になります。 我々は、画像に見られるように持つことができます。

Formulario aplicación para exportar dataset a excel

エクセルにデータセットをエクスポートするためのアプリケーションフォーム

今私はすべてのコードを表示するには、本当に単純な最も重要なことは、それが任意のテーブルに適応することです。 あなたは問題なく再利用することができます。

 輸入のSystem.Data
ます。Imports System.Data.SqlClient
輸入Microsoft.Office.Interop

 Public Class Form1の
    新しいDataSetとして民間DS

    プライベートサブをForm1_Load(ているSystem.EventArgsとしてはSystem.Object、ByValを電子としてByVal送信者)ハンドルMyBase.Load
         '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         '/ /接続を作成し、DataGridViewを埋める
         '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
        新しいSqlConnectionオブジェクトとして暗いCNN( "データソース= localhostは\ SQLEXPRESS、初期カタログ=ノース、統合セキュリティ= True"を)
        新しいSqlDataAdapterとして薄暗いダ( "SELECT * FROM得意先"、CNN)
         da.Fill(DS)
        に= ds.Tables(0)DataGridView1.DataSource
     End Subの

     BtnExportar_Clickます。Private Sub(ているSystem.EventArgsとしてはSystem.Object、ByValを電子としてByVal送信者)ハンドルbtnExportar.Click
         '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         '/ / Excelオブジェクトを作成します。
         '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / /
        薄暗いm_Excel
        薄暗いobjLibroExcel
        薄暗いobjHojaExcel
         m_Excel =のCreateObject( "Excel.Applicationという")
         m_Excel.Workbooks.Add objLibroExcel =()
         objHojaExcel = objLibroExcel.Worksheets(1)
         objHojaExcel.Name = "お客様"
         objHojaExcel.Visible = Excel.XlSheetVisibility.xlSheetVisible
         ()objHojaExcel.Activate

         '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         '/ /行と列を制御する2つの変数を定義します。
         '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
        整数= 1としてDim行
        整数= 1としてDim列

         '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         '/ /我々は、列見出しの行を設定する
         '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         objHojaExcel.Rangeは、( "A1")。Select()が
         ds.Tables内の各DC(0)のために。列
             objHojaExcel.Range(ColumnNameに(列)&1)。値= dc.ColumnName
            列+ = 1
        次の
        行+ = 1

         '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         '/ /我々は、行のタイトルをフォーマットする
         '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         Excel.Range点心objRango = objHojaExcel.Range(:&ColumnNameは(ds.Tables(0)Columns.Count)& "1" "A1")として
         objRango.Font.Bold = Trueに
         objRango.Cells.Interior.ColorIndex = 35

         objRango.Cells.Borders(Excel.XlBordersIndex.xlDiagonalDown)のLineStyle = Excel.XlLineStyle.xlLineStyleNone
         objRango.Cells.Borders(Excel.XlBordersIndex.xlDiagonalUp)のLineStyle = Excel.XlLineStyle.xlLineStyleNone
         objRango.Cells.Borders(Excel.XlBordersIndex.xlEdgeLeft)のLineStyle = Excel.XlLineStyle.xlLineStyleNone
         objRango.Cells.Borders(Excel.XlBordersIndex.xlEdgeRight)のLineStyle = Excel.XlLineStyle.xlContinuous
         objRango.Cells.Borders(Excel.XlBordersIndex.xlEdgeTop)のLineStyle = Excel.XlLineStyle.xlContinuous
         objRango.Cells.Borders(Excel.XlBordersIndex.xlEdgeBottom)のLineStyle = Excel.XlLineStyle.xlContinuous

         '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         '/ / DataTableのすべての行をロードします。
         '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         ProgressBar1.Maximum = ds.Tables(0)。Rows.Count
        列= 1
         ProgressBar1.Value = 0
        各ds.Tables博士(0)。行のために
            列= 1
             ds.Tables内の各DC(0)のために。列
                 objHojaExcel.Range(ColumnNameに(列)&行)。値= DR(dc.ColumnName)
                列+ = 1
            次の
            行+ = 1
             ProgressBar1.Value + = 1
        次の

         '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         '/ /我々は自動的に幅を調整する
        使用されるすべての列から '/ /
         '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         objRango = objHojaExcel.Range( "A1:"&ColumnNameは(ds.Tables(0)Columns.Count)&ds.Tables(0)Rows.Count.ToString。)
         objRango.Select()
         objRango.Columns.AutoFit()

         '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         '/ /我々は、Excelが表示するように言う
         '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
         MsgBoxには、( "完全なExcelへのエクスポート"、MsgBoxStyle.Information、 "。:: Solovb.net ::。")
         m_Excel.Visible = Trueに

     End Subの

    文字列としてパブリック関数のColumnName(整数としてByVal数)
        文字列として薄暗い列(256)

        コラム(1)= "A"
        コラム(2)= "B"
        コラム(3)= "C"
        コラム(4)= "D"
        コラム(5)= "E"
        コラム(6)= "F"
        コラム(7)= "G"
        コラム(8)= "H"
        コラム(9)= "I"
        コラム(10)= "J"
        コラム(11)= "K"
        カラム(12)= "L"
        コラム(13)= "M"
        コラム(14)= "N"
        コラム(15)= "O"
        コラム(16)= "P"
        コラム(17)= "Q"
        コラム(18)= "R"
        コラム(19)= "S"
        コラム(20)= "T"
        コラム(21)= "U"
        コラム(22)= "V"
        コラム(23)= "W"
        コラム(24)= "X"
        コラム(25)= "Y"
        コラム(26)= "Z"
        コラム(27)= "AA"
        コラム(28)= "AB"
        コラム(29)= "AC"
        コラム(30)= "AD"
        コラム(31)= "AE"
        コラム(32)= "AF"
        コラム(33)= "AG"
        コラム(34)= "AH"
        コラム(35)= "AI"
        コラム(36)= "AJ"
        コラム(37)= "AK"
        コラム(38)= "AL"
        コラム(39)= "AM"
        コラム(40)= ""
        コラム(41)= "AO"
        コラム(42)= "AP"
        コラム(43)= "AQ"
        コラム(44)= "AR"
        コラム(45)= "AS"
        コラム(46)= "AT"
        コラム(47)= "UA"
        コラム(48)= "AV"
        コラム(49)= "AW"
        コラム(50)= "AX"
        コラム(51)= "AY"
        コラム(52)= "AZ"
        コラム(53)= "BA"
        コラム(54)= "BB"
        コラム(55)= "BC"
        コラム(56)= "BD"
        コラム(57)= "BE"
        コラム(58)= "BF"
        コラム(59)= "BG"
        コラム(60)= "BH"
        コラム(61)= "BI"
        コラム(62)= "BJ"
        コラム(63)= "BK"
        コラム(64)= "BL"
        コラム(65)= "BM"
        コラム(66)= "BN"
        コラム(67)= "BO"
        コラム(68)= "BP"
        コラム(69)= "BQ"
        コラム(70)= "BR"
        コラム(71)= "BS"
        コラム(72)= "BT"
        コラム(73)= "BU"
        コラム(74)= "BV"
        コラム(75)= "BW"
        コラム(76)= "BX"
        コラム(77)= "BY"
        コラム(78)= "BZ"
        コラム(79)= "CA"
        コラム(80)= "CB"
        コラム(81)= "CC"
        コラム(82)= "CD"
        コラム(83)= "CE"
        コラム(84)= "CF"
        コラム(85)= "CG"
        コラム(86)= "CH"
        コラム(87)= "CI"
        コラム(88)= "CJ"
        コラム(89)= "CK"
        コラム(90)= "CL"
        コラム(91)= "CM"
        コラム(92)= "CN"
        コラム(93)= "CO"
        コラム(94)= "CP"
        コラム(95)= "CQ"
        コラム(96)= "CR"
        コラム(97)= "CS"
        コラム(98)= "CT"
        コラム(99)= "CU"
        コラム(100)= "CV"
        コラム(101)= "CW"
        コラム(102)= "CX"
        コラム(103)= "CY"
        コラム(104)= "CZ"
        コラム(105)= "DA"
        コラム(106)= "DB"
        コラム(107)= "DC"
        コラム(108)= "DD"
        コラム(109)= "DE"
        コラム(110)= "DF"
        コラム(111)= "DG"
        コラム(112)= "DH"
        コラム(113)= "ID"
        コラム(114)= "DJ"
        コラム(115)= "DK"
        コラム(116)= "DL"
        コラム(117)= "DM"
        コラム(118)= "DN"
        コラム(119)= "DO"
        コラム(120)= "DP"
        コラム(121)= "DQ"
        コラム(122)= "DR"
        コラム(123)= "DS"
        コラム(124)= "DT"
        コラム(125)= "DU"
        コラム(126)= "DV"
        コラム(127)= "DW"
        コラム(128)= "DX"
        コラム(129)= "DY"
        コラム(130)= "DZ"
        コラム(131)= "EA"
        コラム(132)= "EB"
        コラム(133)= "EC"
        コラム(134)= "ED"
        コラム(135)= "EE"
        コラム(136)= "EF"
        コラム(137)= "EG"
        コラム(138)= "EH"
        コラム(139)= "EI"
        コラム(140)= "EJ"
        コラム(141)= "EK"
        コラム(142)= "ON"
        コラム(143)= "MS"
        コラム(144)= "EN"
        コラム(145)= "EO"
        コラム(146)= "EP"
        コラム(147)= "EQ"
        コラム(148)= "ER"
        コラム(149)= "ES"
        コラム(150)= "ET"
        コラム(151)= "EU"
        コラム(152)= "EV"
        コラム(153)= "EW"
        コラム(154)= "EX"
        コラム(155)= "EY"
        コラム(156)= "EZ"
        コラム(157)= "FA"
        コラム(158)= "FB"
        コラム(159)= "FC"
        コラム(160)= "FD"
        コラム(161)= "FE"
        コラム(162)= "FF"
        コラム(163)= "FG"
        コラム(164)= "FH"
        コラム(165)= "FI"
        コラム(166)= "FJ"
        コラム(167)= "FK"
        コラム(168)= "FL"
        コラム(169)= "FM"
        コラム(170)= "FN"
        コラム(171)= "FO"
        コラム(172)= "FP"
        コラム(173)= "CF"
        コラム(174)= "FR"
        コラム(175)= "FS"
        コラム(176)= "FT"
        コラム(177)= "FU"
        コラム(178)= "PV"
        コラム(179)= "FW"
        コラム(180)= "FX"
        コラム(181)= "年度"
        コラム(182)= "FZ"
        コラム(183)= "GA"
        コラム(184)= "GB"
        コラム(185)= "GC"
        コラム(186)= "GD"
        コラム(187)= "GE"
        コラム(188)= "GF"
        コラム(189)= "GG"
        コラム(190)= "GH"
        コラム(191)= "GI"
        コラム(192)= "GJ"
        コラム(193)= "GK"
        コラム(194)= "GL"
        コラム(195)= "GM"
        コラム(196)= "GN"
        コラム(197)= "GO"
        コラム(198)= "GP"
        コラム(199)= "GQ"
        コラム(200)= "GR"
        コラム(201)= "GS"
        コラム(202)= "GT"
        コラム(203)= "GU"
        コラム(204)= "GV"
        コラム(205)= "GW"
        コラム(206)= "GX"
        コラム(207)= "GY"
        コラム(208)= "GZ"
        コラム(209)= "HA"
        コラム(210)= "HB"
        コラム(211)= "HC"
        コラム(212)= "HD"
        コラム(213)= "HE"
        コラム(214)= "HF"
        コラム(215)= "HG"
        コラム(216)= "HH"
        コラム(217)= "HI"
        コラム(218)= "HJ"
        コラム(219)= "HK"
        コラム(220)= "HL"
        コラム(221)= "HM"
        コラム(222)= "HN"
        コラム(223)= "HO"
        コラム(224)= "HP"
        コラム(225)= "HQ"
        コラム(226)= "HR"
        コラム(227)= "HS"
        コラム(228)= "HT"
        コラム(229)= "HU"
        コラム(230)= "HV"
        コラム(231)= "HW"
        コラム(232)= "H"
        コラム(233)= "HY"
        コラム(234)= "HZ"
        コラム(235)= "IA"
        コラム(236)= "IB"
        コラム(237)= "IC"
        コラム(238)= "ID"
        コラム(239)= "IE"
        コラム(240)= "IF"
        コラム(241)= "IG"
        コラム(242)= "IH"
        コラム(243)= "II"
        コラム(244)= "IJ"
        コラム(245)= "IK"
        コラム(246)= "IL"
        コラム(247)= "IM"
        コラム(248)= "IN"
        コラム(249)= "IO"
        コラム(250)= "IP"
        コラム(251)= "IQ"
        コラム(252)= "R"
        コラム(253)= "IS"
        コラム(254)= "IT"
        コラム(255)= "IU"
        コラム(256)= "IV"

        戻り値の列(数値)
    エンド機能
エンドクラス 

このメソッドは、よく私を務めていると私はあなたもそう願って...あなたのコメントを残してください。

31の応答は "自動的にMicrosoft ExcelにDataTableをエクスポートする"

  1. Bitacoras.comは 言う:

    情報Bitacoras.com ...

    Bitacoras.comのレート:こんにちは、今日は長い時間私を務め、まだ私はまだそれを使用した例を示したいと思います。 私たちは、10グラムというの列数または行にかかわらず、Excelの完全にDataTableをエクスポートする例を行います.....

    • カルロス·リナレス氏は述べています:

      良い...

      優秀なポスト! あなたが私を完全に助けありがとうございましたが、私は疑問を持っている.. リンクは、SQLを使用することです..として どのように私は列の名前を変更しないでください! これは、SQLのフィールドの名前を持っているので...!

      私は希望と私は理解している..

      ありがとうございました!

  2. 日東電工は言う:

    私は保存するつもりだ...
    いくつかの点でそれが役に立つでしょう...

  3. ビクターは言う:

    それは、Excel 2007に対して有効ですか? 私はそれ以前のバージョンではなく、2007年に有効であることを、開発するために輸出が問題を抱えている。 感謝

  4. ジョンは言う:

    驚異的なソースコード。 よく私を務めた。 Qそれは長年の懸案であった。

  5. ジョンは言う:

    また、データテーブルのインポートをecxel必要がありますが。 しかし、データグリッドへの環境かもしれませんし、DataAdapterを更新し、DataTableの変更を受け入れるQ BDに保存されるだろう...私は助けることができるか見つけることを期待.. 感謝

  6. ホセは言う:

    こんにちは感謝します! この優れた!
    DataGridは、いくつかのデータグリッドある場合に使用されることを指定しますどこが、私はだろうか?

    • カルロス·リナレス氏は述べています:

      テーブルの上に、コールにしている...

      から*を選択します(テーブル名)

      あなたがしたいフィールドを指定したい場合

      テーブルからSELECT(フィールド、フィールド、フィールド)*
      EJM
      車から車、色、年を選択します

  7. ベトは言った:

    私は変数のDCとDRの2のエラーを作成するこの例では問題がある、私はそれを修正することができますか?

    • エリシャは言います:

      こんにちは、これを試してみてください。
      ds.TablesのDataRow(0)として、各DRのために。行は、およびDataColumn ds.Tables内の各DCなど(0)の場合。列

      私はこれが解決されることを願っています。 ご挨拶。

  8. ジェイソンは言う:

    はいはい。
    この格好いいが、列名の部分は非常に機能していません。
    私のブログに多くの小さなコードサイズの制限をアップロードしなくてもよ

    jaysson.blogspot.com

  9. ジェイソンは言う:

    記事を上がった準備ができて、

    http://jaysson.blogspot.com/2010/06/columnas-es-excel.html

  10. ロドリゴは言う:

    良い記事が、私はExcel 2007で自分のコンピュータ上で問題があり、スムーズに動作しますが、Excel 2003以前のバージョンを搭載したコンピュータでは動作しません。 あなたは任意のExcelにその作品を意味しているので、インポートされますが、私はこの問題が発生しているライブラリの問題が発生した場合誰もが知っている。

    誰かが疑問を解決することができるかどうかを確認してみましょう。
    ありがとうございます。

  11. カルロス·リナレス氏は述べています:

    良い...

    優秀なポスト! あなたが私を完全に助けありがとうございましたが、私は疑問を持っている.. リンクは、SQLの場合と同様.. どのように私は列の名前を変更しないでください! これは、SQLのフィールドの名前を持っているので...!

    私は希望と私は理解している..

    ありがとうございました!

  12. Alexander氏は言う。

    のPublic Sub ExportarDatosExcel(DataGridViewの、文字列としてByValタイトルとしてByVal DataGridView1)
    新規まず、Excel.Application点心m_Excelとして
    m_Excel.Cursor = Excel.XlMousePointer.xlWait
    m_Excel.Visible = Trueに
    Excel.Workbook点心objLibroExcel = m_Excel.Workbooks.Addとして
    Excel.Worksheet点心objHojaExcel = objLibroExcel.Worksheets(1)のような
    objHojaExcelと
    可視= Excel.XlSheetVisibility.xlSheetVisible
    。のactivate()
    'ヘッダー
    範囲( "A1:L1")。マージ()
    範囲( "A1:L1")。値= "研究所ARGENCAF"
    範囲( "A1:L1")= Trueにアクセスできるサブ
    範囲( "A1:L1")。Font.Size = 15
    "タフト
    範囲( "A2:L2")。マージ()
    範囲( "A2:L2")。値=タイトル
    範囲( "A2:L2")= Trueにアクセスできるサブ
    範囲( "A2:L2")。Font.Size = 12

    CHAR = "A"としてのconst primeraLetra
    ショート= 3として定数firstNumber
    UltimaLetraとしてのChar、Charとして薄暗い手紙
    整数として薄暗い数の整数としてUltimoNumero
    - 1バイト= Asc関数cod_letra(primeraLetra)として薄暗い
    文字列= Application.CurrentCulture.NumberFormat.NumberDecimalSeparator sepDecとして薄暗い
    文字列= Application.CurrentCulture.NumberFormat.NumberGroupSeparator sepMilとして薄暗い
    "計算の娘の列の書式を設定します。
    ""文字列=としてStrColumna点心
    ""文字列=としてLetraIzq点心
    - 1バイト= Asc関数cod_LetraIzq(primeraLetra)として薄暗い
    手紙= primeraLetra
    番号= firstNumber
    Excel.Range点心objCeldaとして
    DataGridView1.ColumnsのようDataGridViewColumnが各cの
    その後c.Visible場合
    そして、もし手紙= "Z"
    手紙= primeraLetra
    cod_letra = ASC(primeraLetra)
    cod_LetraIzq + = 1
    LetraIzq = CHR(cod_LetraIzq)

    cod_letra + = 1
    手紙= CHR(cod_letra)
    終了する場合
    strColumna = LetraIzq +歌詞+ Numero.ToString
    objCelda =範囲(strColumna、Type.Missing)
    objCelda.Value = c.HeaderText
    objCelda.EntireColumn.Font.Size = 8
    'ObjCelda.EntireColumn.NumberFormat = c.DefaultCellStyle.Format
    c.ValueTypeであればGetTypeを(Decimal)をOrElse演算c.ValueType次にGetTypeを(ダブル)です。
    objCelda.EntireColumn.NumberFormatは= "#" + sepMil + "0" + sepDec + "00"
    終了する場合
    終了する場合
    次の

    Excel.Range点心objRangoEncab =範囲(primeraLetra + Numero.ToString、LetraIzq +歌詞+ Numero.ToString)など
    objRangoEncab.BorderAround(1、Excel.XlBorderWeight.xlMedium)
    UltimaLetra =送信
    文字列= LetraIzq UltimaLetraIzqとして薄暗い

    "LOAD DATAを
    整数型(Integer)の値=数値+ 1としてDim I

    DataGridViewRowをDataGridView1.Rowsとして、リスト中の各
    LetraIzq = ""
    cod_LetraIzq = ASC(primeraLetra) - 1
    手紙= primeraLetra
    cod_letra = ASC(primeraLetra) - 1
    DataGridView1.ColumnsのようDataGridViewColumnが各cの
    その後c.Visible場合
    そして、もし手紙= "Z"
    手紙= primeraLetra
    cod_letra = ASC(primeraLetra)
    cod_LetraIzq + = 1
    LetraIzq = CHR(cod_LetraIzq)

    cod_letra + = 1
    手紙= CHR(cod_letra)
    終了する場合
    strColumna = LetraIzq +歌詞
    "ここでは、ロードする必要があります
    。セル(I、strColumna)= IIF(ないかどうか(reg.ToString)、 ""、reg.Cells(c.Index)。値)
    'セル(I、strColumna)= IIF(ないかどうか(定価(c.DataPropertyName))、c.DefaultCellStyle.NullValue、REG(c.DataPropertyName))
    "範囲(strColumna + I、strColumna + i)である。(a)の

    終了する場合
    次の
    Excel.Range点心objRangoRegとして=。範囲(primeraLetra + i.ToString、i.ToString strColumna +)
    objRangoReg.Rows.BorderAround()
    objRangoReg.Select()
    I + = 1
    次の
    UltimoNumero = I

    列の "描画行
    LetraIzq = ""
    cod_LetraIzq = ASC( "A")
    cod_letra = ASC(primeraLetra)
    手紙= primeraLetra
    DataGridView1.ColumnsのようDataGridViewColumnが各cの
    その後c.Visible場合
    。objCelda = RANGE(LetraIzq +歌詞+ primerNumero.ToString、LetraIzq +歌詞+(UltimoNumero - 1)ToStringメソッド)
    objCelda.BorderAround()
    そして、もし手紙= "Z"
    手紙= primeraLetra
    cod_letra = ASC(primeraLetra)
    LetraIzq = CHR(cod_LetraIzq)
    cod_LetraIzq + = 1

    cod_letra + = 1
    手紙= CHR(cod_letra)
    終了する場合
    終了する場合
    次の

    "厚い外側の境界線を描画
    。Excel.Range点心objRangoとして= RANGE(primeraLetra + primerNumero.ToString、UltimaLetra UltimaLetraIzq + +(UltimoNumero - 1)ToStringメソッド)
    objRango.Select()
    objRango.Columns.AutoFit()
    objRango.Columns.BorderAround(1、Excel.XlBorderWeight.xlMedium)
    で終わる

    m_Excel.Cursor = Excel.XlMousePointer.xlDefault
    End Subの

    ToolStripButton2_Click_1ます。Private Sub(ているSystem.EventArgsとしてはSystem.Object、ByValを電子としてByVal送信者)ハンドルToolStripButton2.Click
    ExportarDatosExcel(DataGridView1、 "エクスポート")
    End Subの

  13. JuanPeopleは言う:

    EXCELLENT!!.... おかげで弟と、インポート/エクスポート、Excelとは何のためのモジュールで3日間を要したが働いた....​​しかし、あなたのソリューションで私は再びアレキパから星...挨拶を参照してください!..

    • エリシャは言います:

      どう致しまして。 私は、あなたが例として役立ってうれしい。

  14. TECKNOCKは言う:

    このコードは私たくさん助けたので、私は私の2セントとのコラボレーション:

    ahsta ZZの列が到着する "ColumnNameは"最適化した(702ら)

    ここで私はあなたのコードを与えます。

    文字列としてパブリック関数のColumnName(整数としてByVal数)
    文字列として薄暗い列(703)

    コラム(1)= "A"
    コラム(2)= "B"
    コラム(3)= "C"
    コラム(4)= "D"
    コラム(5)= "E"
    コラム(6)= "F"
    コラム(7)= "G"
    コラム(8)= "H"
    コラム(9)= "I"
    コラム(10)= "J"
    コラム(11)= "K"
    カラム(12)= "L"
    コラム(13)= "M"
    コラム(14)= "N"
    コラム(15)= "O"
    コラム(16)= "P"
    コラム(17)= "Q"
    コラム(18)= "R"
    コラム(19)= "S"
    コラム(20)= "T"
    コラム(21)= "U"
    コラム(22)= "V"
    コラム(23)= "W"
    コラム(24)= "X"
    コラム(25)= "Y"
    コラム(26)= "Z"

    薄暗いI = 27
    Ltr1 = 1〜26
    Ltr2 = 1〜26
    列(I)=列(Ltr1)&列(Ltr2)
    I + = 1
    次の
    次の

    戻り値の列(数値)
    エンド機能

    • エリシャは言います:

      TECKNOCK、!助けるためにありがとうございました、しかし、我々が作成する本が許可されてExcel 97-2003の最大の列と互換性があるかどうかことを覚えておいては、256(IVまで)です。 ただ、この点を考慮するコメントとして。

      エリシャ

  15. raysipは言う:

    私は正しくロー​​カルアプリケーションfuncioanaを実行するが、私はウェブサイト上にアップロードしたときにExcelを生成しませんが、エラーを取得していない場合

  16. Adersonは言う:

    私はSQLに接地haciend探しています

    私はやっていたが、私はAJAを行いますしないように

  17. ポールは言う:

    私はそれをあなたがここにいるすべての方法を実行しようと助けが必要と私はすべてのエラーを取得する

  18. ジョンは言う:

    一方、あなたは完璧なfunca最大だ。

  19. ガイ班はネジは言う:

    非常に良い、おめでとうございます私が読んで、相談した中で最高のポストである

  20. パトリシアは言う:

    ありがとうございました! それは非常に役に立ちました

  21. f.delgadoは言う:

    ちょっとコードが私の上では動作しませんがda.Fillエラーをマーク(DS)

    私はエラーをマークすると、SQLExceptionが見つかりませんでした

    あなたは私を助けることができる

  22. JAVは言う:

    一つの質問は、Excelに直接ロードするSQLクエリを行うことができますか?

    あらかじめを通して

  23. デルフィーノモラレス氏は述べています:

    こんにちはすべてあなたagradescoあなたの貢献の最初の友人。
    私は私がOffice 2010をインストールしていて、私の問題になることができない、ことを示す参照を見つけることができない問題を抱えていることに注意してください。
    あなたにagradeseriaは、いくつかのアドバイス。

  24. アメリカは言う:

    こんにちは、非常に良い貢献は、私が探していたものです...しかし、私は開発用サーバーからそれを実行したときに完璧に動作しますが、私は別のPCからWebにアクセスしたときに何も...ないエラーが発生しませんが、レコードはない何もしない...

    誰もがそれを修正する方法を知っている?

  25. Azofeifaエルナン氏は述べています:

    どうもありがとうございました、私あなたの例では助けになったのですが、直接グリッドに格納されている値から私にExcelファイルを生成する関数を生成するための基礎として何dejorケースが誰かのために有用である

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ /我々は、列見出しの行を設定する
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    objHojaExcel.Rangeは、( "A1")。Select()が
    整数としてDim I = 0
    整数としてLncol DIM = 1
    dgvSocios.Columns内の各DCのために

    その後、dgvSocios.Columns.Item(I)。可視= Trueの場合
    objHojaExcel.Range(ColumnNameに(lncol)&1)。値= dgvSocios.Columns.Item(I)。HeaderTextを
    lncol + = 1
    終了する場合
    I + = 1
    次の
    行+ = 1

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ /我々は、行のタイトルをフォーマットする
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    Excel.Range点心objRangoとして= objHojaExcel.Range( "A1:"&ColumnNameは(lncol)& "1")
    objRango.Font.Bold = Trueに
    objRango.Cells.Interior.ColorIndex = 35

    objRango.Cells.Borders(Excel.XlBordersIndex.xlDiagonalDown)のLineStyle = Excel.XlLineStyle.xlLineStyleNone
    objRango.Cells.Borders(Excel.XlBordersIndex.xlDiagonalUp)のLineStyle = Excel.XlLineStyle.xlLineStyleNone
    objRango.Cells.Borders(Excel.XlBordersIndex.xlEdgeLeft)のLineStyle = Excel.XlLineStyle.xlLineStyleNone
    objRango.Cells.Borders(Excel.XlBordersIndex.xlEdgeRight)のLineStyle = Excel.XlLineStyle.xlContinuous
    objRango.Cells.Borders(Excel.XlBordersIndex.xlEdgeTop)のLineStyle = Excel.XlLineStyle.xlContinuous
    objRango.Cells.Borders(Excel.XlBordersIndex.xlEdgeBottom)のLineStyle = Excel.XlLineStyle.xlContinuous

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ / DataTableのすべての行をロードします。
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    ProgressBar1.Maximum = dgvSocios.Rows.Count
    列= 0
    ProgressBar1.Value = 0
    ProgressBar1.Visible = Trueに
    整数= 0としてLnfila点心
    I = 1
    dgvSocios.Rowsで各DRのために
    列= 0

    dgvSocios.Columns内の各DCのために
    dgvSocios.Columns.Item(列)。可視= trueの場合、もし
    objHojaExcel.Range(ColumnNameに(I)&行)。値= dgvSocios.Item(列、lnfila)。Value.ToString
    I + = 1
    終了する場合
    列+ = 1
    次の
    lnfila + = 1
    行+ = 1
    ProgressBar1.Value + = 1
    次の

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ /我々は自動的に幅を調整する
    使用されるすべての列から '/ /
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    objRango = objHojaExcel.Range( "A1:"&ColumnNameは(lncol)&(lnfila + 1)ToStringメソッド)。
    objRango.Select()
    objRango.Columns.AutoFit()

    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    '/ /我々は、Excelが表示するように言う
    '/ / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / /
    MsgBoxには、( "完全なExcelへのエクスポート"、MsgBoxStyle.Information、 "。:: Solovb.net ::。")
    m_Excel.Visible = Trueに

コメント