今日は長い時間私を務め、まだ私はまだそれを使用した例を示したいと思います。
我々は関係なく、列または持っている行の数のExcel完全にDataTableをエクスポートする例を行います。
そこにこれを行うには多くの方法であるが、この方法はExcelの任意のバージョンのために働くので、私はそれが本当に便利な場合があります。 Excelの新しいバージョンcompatilidadの問題については、256列を処理します。
我々が最初に必要なことは、Microsoft.Office.Interop.Excelへの参照を追加することであり、我々は次のようにします。

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

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

エクセルにデータセットをエクスポートするためのアプリケーションフォーム
今私はすべてのコードを表示するには、本当に単純な最も重要なことは、それが任意のテーブルに適応することです。 あなたは問題なく再利用することができます。
輸入の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" 戻り値の列(数値) エンド機能 エンドクラス
このメソッドは、よく私を務めていると私はあなたもそう願って...あなたのコメントを残してください。
情報Bitacoras.com ...
Bitacoras.comのレート:こんにちは、今日は長い時間私を務め、まだ私はまだそれを使用した例を示したいと思います。 私たちは、10グラムというの列数または行にかかわらず、Excelの完全にDataTableをエクスポートする例を行います.....
良い...
優秀なポスト! あなたが私を完全に助けありがとうございましたが、私は疑問を持っている.. リンクは、SQLを使用することです..として どのように私は列の名前を変更しないでください! これは、SQLのフィールドの名前を持っているので...!
私は希望と私は理解している..
ありがとうございました!
私は保存するつもりだ...
いくつかの点でそれが役に立つでしょう...
それは、Excel 2007に対して有効ですか? 私はそれ以前のバージョンではなく、2007年に有効であることを、開発するために輸出が問題を抱えている。 感謝
驚異的なソースコード。 よく私を務めた。 Qそれは長年の懸案であった。
また、データテーブルのインポートをecxel必要がありますが。 しかし、データグリッドへの環境かもしれませんし、DataAdapterを更新し、DataTableの変更を受け入れるQ BDに保存されるだろう...私は助けることができるか見つけることを期待.. 感謝
こんにちは感謝します! この優れた!
DataGridは、いくつかのデータグリッドある場合に使用されることを指定しますどこが、私はだろうか?
テーブルの上に、コールにしている...
から*を選択します(テーブル名)
あなたがしたいフィールドを指定したい場合
テーブルからSELECT(フィールド、フィールド、フィールド)*
EJM
車から車、色、年を選択します
私は変数のDCとDRの2のエラーを作成するこの例では問題がある、私はそれを修正することができますか?
こんにちは、これを試してみてください。
ds.TablesのDataRow(0)として、各DRのために。行は、およびDataColumn ds.Tables内の各DCなど(0)の場合。列
私はこれが解決されることを願っています。 ご挨拶。
はいはい。
この格好いいが、列名の部分は非常に機能していません。
私のブログに多くの小さなコードサイズの制限をアップロードしなくてもよ
jaysson.blogspot.com
記事を上がった準備ができて、
http://jaysson.blogspot.com/2010/06/columnas-es-excel.html
良い記事が、私はExcel 2007で自分のコンピュータ上で問題があり、スムーズに動作しますが、Excel 2003以前のバージョンを搭載したコンピュータでは動作しません。 あなたは任意のExcelにその作品を意味しているので、インポートされますが、私はこの問題が発生しているライブラリの問題が発生した場合誰もが知っている。
誰かが疑問を解決することができるかどうかを確認してみましょう。
ありがとうございます。
良い...
優秀なポスト! あなたが私を完全に助けありがとうございましたが、私は疑問を持っている.. リンクは、SQLの場合と同様.. どのように私は列の名前を変更しないでください! これは、SQLのフィールドの名前を持っているので...!
私は希望と私は理解している..
ありがとうございました!
の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の
EXCELLENT!!.... おかげで弟と、インポート/エクスポート、Excelとは何のためのモジュールで3日間を要したが働いた....しかし、あなたのソリューションで私は再びアレキパから星...挨拶を参照してください!..
どう致しまして。 私は、あなたが例として役立ってうれしい。
このコードは私たくさん助けたので、私は私の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まで)です。 ただ、この点を考慮するコメントとして。
エリシャ
私は正しくローカルアプリケーションfuncioanaを実行するが、私はウェブサイト上にアップロードしたときにExcelを生成しませんが、エラーを取得していない場合
私はSQLに接地haciend探しています
私はやっていたが、私はAJAを行いますしないように
私はそれをあなたがここにいるすべての方法を実行しようと助けが必要と私はすべてのエラーを取得する
一方、あなたは完璧なfunca最大だ。
[...] [...]
非常に良い、おめでとうございます私が読んで、相談した中で最高のポストである
ありがとうございました! それは非常に役に立ちました
ちょっとコードが私の上では動作しませんがda.Fillエラーをマーク(DS)
私はエラーをマークすると、SQLExceptionが見つかりませんでした
あなたは私を助けることができる
一つの質問は、Excelに直接ロードするSQLクエリを行うことができますか?
あらかじめを通して
こんにちはすべてあなたagradescoあなたの貢献の最初の友人。
私は私がOffice 2010をインストールしていて、私の問題になることができない、ことを示す参照を見つけることができない問題を抱えていることに注意してください。
あなたにagradeseriaは、いくつかのアドバイス。
こんにちは、非常に良い貢献は、私が探していたものです...しかし、私は開発用サーバーからそれを実行したときに完璧に動作しますが、私は別のPCからWebにアクセスしたときに何も...ないエラーが発生しませんが、レコードはない何もしない...
誰もがそれを修正する方法を知っている?
どうもありがとうございました、私あなたの例では助けになったのですが、直接グリッドに格納されている値から私に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に