C#将datagridview中的数据导出到excl表格中? c#中怎么将连接到数据库表格的dataGridView中的数...

\u5728C#\u4e2d\uff0c\u5982\u4f55\u628aDataGridview\u4e2d\u7684\u6570\u636e\u5bfc\u51fa\u5230\u4e00\u4e2aExcel\u8868\u4e2d

\u771f\u662f\u5de7\uff0c\u6211\u6628\u5929\u521a\u521a\u505a\u4e86\u8fd9\u4e2a
public bool ExportDataGridview(DataGridView gridView, bool isShowExcle)
{
if (gridView.Rows.Count == 0)
{
return false;
}
//\u521b\u5efaExcel\u5bf9\u8c61
Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application();
excel.Application.Workbooks.Add(true);

//\u751f\u6210\u5b57\u6bb5\u540d\u79f0
for (int i = 0; i < gridView.ColumnCount;i++)
{
excel.Cells[1, i + 1] = gridView.Columns[i].HeaderText;
}
//\u586b\u5145\u6570\u636e
for (int i = 0; i < gridView.RowCount - 1; i++) //\u5faa\u73af\u884c
{
for(int j = 0;j < gridView.ColumnCount ;j++) //\u5faa\u73af\u5217
{
if(gridView[j,i].ValueType==typeof(string))
{
excel.Cells[i+2,j+1] = "'" + gridView.Rows[i].Cells[j].Value.ToString();
}
else
{
excel.Cells[i+2,j+1] = gridView.Rows[i].Cells[j].Value.ToString();
}
}
}
//\u8bbe\u7f6e\u7981\u6b62\u5f39\u51fa\u4fdd\u5b58\u548c\u8986\u76d6\u7684\u8be2\u95ee\u63d0\u793a\u6846
excel.Visible = false;
excel.DisplayAlerts = false;
excel.AlertBeforeOverwriting = false;

//\u4fdd\u5b58\u5230\u4e34\u65f6\u5de5\u4f5c\u7c3f
//excel.Application.Workbooks.Add(true).Save();
//\u4fdd\u5b58\u6587\u4ef6

excel.Save("D:" + "\\234.xls");
excel.Quit();
return true;
}

\u5148\u628adatagridview\u7684\u6570\u636e\u62f7\u8d1d\u3002
\u7136\u540e\u65b0\u5efa\u4e00\u4e2aExcel\u6587\u4ef6\u3002
\u590d\u5236\u5230Excel\u6587\u4ef6\u3002
private void copyAlltoClipboard() { dataGridView1.SelectAll(); DataObject dataObj = dataGridView1.GetClipboardContent(); if (dataObj != null) Clipboard.SetDataObject(dataObj); } private void btnExport_Click(object sender, EventArgs e) { copyAlltoClipboard(); Microsoft.Office.Interop.Excel.Application xlexcel; Microsoft.Office.Interop.Excel.Workbook xlWorkBook; Microsoft.Office.Interop.Excel.Worksheet xlWorkSheet; object misValue = System.Reflection.Missing.Value; xlexcel = new Excel.Application(); xlexcel.Visible = true; xlWorkBook = xlexcel.Workbooks.Add(misValue); xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1); Excel.Range CR = (Excel.Range)xlWorkSheet.Cells[1, 1]; CR.Select(); xlWorkSheet.PasteSpecial(CR, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, true); }

public static void ExportExcel(DataGridView dgv)
{ try
{
int lvA = 0;
for (int i = 0; i < dgv.Columns.Count; i++)
{
if (dgv.Columns[i].Visible)
{
lvA++;
}
}
int rowCount = dgv.RowCount;
int columnCount = lvA;
Microsoft.Office.Interop.Excel.Application exc = new Microsoft.Office.Interop.Excel.Application();
if (exc == null)
{
throw new Exception("Excel无法启动");
}
exc.Visible = true;
Workbooks workbooks = exc.Workbooks;
_Workbook workbook = workbooks.Add(XlWBATemplate.xlWBATWorksheet);
Sheets sheets = exc.Sheets;
_Worksheet worksheet = (_Worksheet)sheets[1];
if (worksheet == null)
{
throw new Exception("Worksheet error");
}
Range r = worksheet.get_Range("A1", Missing.Value);
if (r == null)
{
MessageBox.Show("Range无法启动");
throw new Exception("Range error");
}
//以上是一些例行的初始化工作,下面进行具体的信息填充
//填充标题
int ColIndex = 1;
for (int i = 0; i < dgv.ColumnCount; i++)
{
if (dgv.Columns[i].Visible)
{
worksheet.Cells[1, ColIndex++] = dgv.Columns[i].HeaderText;
}
}
//获取DataGridView中的所有行和列的数值,填充到一个二维数组中.
object[,] myData = new object[rowCount + 1, columnCount];
for (int j = 0; j < dgv.Rows.Count; j++)
{
int a = 0;
for (int k = 0; k < dgv.Columns.Count; k++)
{
if (k > 0)
{
if (dgv.Rows[j].Cells[k].Visible)
{
a++;
myData[j, a] = dgv[k, j].Value;
}
}
else if (dgv.Rows[j].Cells[k].Visible)
{
myData[j, a] = dgv[k, j].Value;
}
}
}
//将填充好的二维数组填充到Excel对象中.
r = worksheet.get_Range(worksheet.Cells[2, 1], worksheet.Cells[rowCount + 1, columnCount]);
r.Value2 = myData;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

public void Print(DataGridView dataGridView1)
{
try
{
int RCount = dataGridView1.Rows.Count;
int CCount = dataGridView1.Columns.Count;

if (RCount <= 0 || CCount <= 0)
{
MessageBox.Show(

  • c鏄粈涔堟剰鎬?
    绛旓細c++鐨勫叿浣撳惈涔夊涓嬶細C++鏄C璇█鐨勭户鎵匡紝瀹冩棦鍙互杩涜C璇█鐨勮繃绋嬪寲绋嬪簭璁捐锛屽張鍙互杩涜浠ユ娊璞℃暟鎹被鍨嬩负鐗圭偣鐨勫熀浜庡璞$殑绋嬪簭璁捐锛岃繕鍙互杩涜浠ョ户鎵垮拰澶氭佷负鐗圭偣鐨勯潰鍚戝璞$殑绋嬪簭璁捐銆侰++鎿呴暱闈㈠悜瀵硅薄绋嬪簭璁捐鐨勫悓鏃讹紝杩樺彲浠ヨ繘琛屽熀浜庤繃绋嬬殑绋嬪簭璁捐锛屽洜鑰孋++灏遍傚簲鐨勯棶棰樿妯¤岃锛屽ぇ灏忕敱涔嬨侰++涓嶄粎鎷ユ湁...
  • c鏄粈涔堟剰鎬?
    绛旓細c++鐨勫叿浣撳惈涔夊涓嬶細C++鏄C璇█鐨勭户鎵匡紝瀹冩棦鍙互杩涜C璇█鐨勮繃绋嬪寲绋嬪簭璁捐锛屽張鍙互杩涜浠ユ娊璞℃暟鎹被鍨嬩负鐗圭偣鐨勫熀浜庡璞$殑绋嬪簭璁捐锛岃繕鍙互杩涜浠ョ户鎵垮拰澶氭佷负鐗圭偣鐨勯潰鍚戝璞$殑绋嬪簭璁捐銆侰++鎿呴暱闈㈠悜瀵硅薄绋嬪簭璁捐鐨勫悓鏃讹紝杩樺彲浠ヨ繘琛屽熀浜庤繃绋嬬殑绋嬪簭璁捐锛屽洜鑰孋++灏遍傚簲鐨勯棶棰樿妯¤岃锛屽ぇ灏忕敱涔嬨侰++涓嶄粎鎷ユ湁...
  • C鏄粈涔堟剰鎬?
    绛旓細C琛ㄧず缁勫悎鏁般侰(n,m) 琛ㄧずn閫塵鐨勭粍鍚堟暟锛屽叾涓璶鏄笅鏍 , m鏄笂鏍 (C涓婇潰m,涓嬮潰n)銆俷Ck鏄竴涓暣浣擄紝鏄痭涓厓绱犱腑锛屽彇k涓厓绱犵殑鍙栨硶鐨勪釜鏁帮紝涔熷彨n涓厓绱犱腑锛屽彇k 涓猭缁勫悎鏁帮紝锛圕浠h〃缁勫悎锛夛紝绠楁硶鏄細nCk锛漬!/k!锛坣-k锛!锛漬锛坣-1锛夆︹︼紙n-k+1锛/k!绛変簬浠巒寮濮嬭繛缁掑噺鐨刴涓嚜鐒...
  • c鏄粈涔堟剰鎬
    绛旓細c++鐨勫叿浣撳惈涔夊涓嬶細C++鏄C璇█鐨勭户鎵匡紝瀹冩棦鍙互杩涜C璇█鐨勮繃绋嬪寲绋嬪簭璁捐锛屽張鍙互杩涜浠ユ娊璞℃暟鎹被鍨嬩负鐗圭偣鐨勫熀浜庡璞$殑绋嬪簭璁捐锛岃繕鍙互杩涜浠ョ户鎵垮拰澶氭佷负鐗圭偣鐨勯潰鍚戝璞$殑绋嬪簭璁捐銆侰++鎿呴暱闈㈠悜瀵硅薄绋嬪簭璁捐鐨勫悓鏃讹紝杩樺彲浠ヨ繘琛屽熀浜庤繃绋嬬殑绋嬪簭璁捐锛屽洜鑰孋++灏遍傚簲鐨勯棶棰樿妯¤岃锛屽ぇ灏忕敱涔嬨侰++涓嶄粎鎷ユ湁...
  • c鏄粈涔?
    绛旓細鍖栧涓C琛ㄧず鐗╄川鐨勯噺娴撳害锛堟懇灏旀祿搴︼級锛屾槸涓绉嶅父鐢ㄧ殑婧舵恫娴撳害鐨勮〃绀烘柟娉曪紝涓烘憾娑蹭腑婧惰川鐨勭墿璐ㄧ殑閲忛櫎浠ユ贩鍚堢墿鐨勪綋绉備互涓婇潰鍏紡涓紝C(B)浠h〃婧惰川鐨勭墿璐ㄧ殑閲忔祿搴︼紝n(B)浠h〃婧惰川鐨勭墿璐ㄧ殑閲忥紝V浠h〃婧舵恫鐨勪綋绉傛憾娑叉祿搴﹀彲鍒嗕负璐ㄩ噺娴撳害锛堝璐ㄩ噺鐧惧垎娴撳害锛夈佷綋绉祿搴︼紙濡傛懇灏旀祿搴︺佸綋閲忔祿搴︼級鍜岃川閲-浣撶Н...
  • c鍦ㄧ埍鎯呯殑鍚箟
    绛旓細c鍦ㄧ埍鎯呯殑鍚箟 c鍦ㄧ埍鎯呯殑鍚箟銆傚湪鏃ュ父鐢熸椿涓紝寰堝浜洪兘鏄潪甯稿湪涔庝竴浜涘叧浜庣埍鎯呯殑鍚箟鐨勶紝c杩欎釜瀛楁瘝鍦ㄧ埍鎯呬篃鍏锋湁鐫涓瀹氱殑瑙f瀽銆傞偅涔堜笅闈㈠氨涓哄ぇ瀹跺垎浜玞鍦ㄧ埍鎯呯殑鍚箟鐨勭浉鍏冲唴瀹广俢鍦ㄧ埍鎯呯殑鍚箟1 鈥C鍨嬬埍鎯呰鈥濇寚鐨勬槸瀵圭幇浠g埍鎯呭叧涓绉嶆柊鐨勫畾涔夈傚湪鐖辨儏涓紝鏈夎繘鏈夐銆佺壍鎵嬪垎鎵嬬殑寰幆锛屽凡涓嶅啀鏄釜绋濂...
  • c鏄粈涔堣溅鏍
    绛旓細琛屾斂绾у埆鐨勮娇杞C杞︼紝鎴栫О涓 Execuive锛屼篃灏辨槸琛屾斂绾у埆鐨勮娇杞︼紝鎺掗噺涓鑸槸2.4鍒3.2鍗囷紝杩欎釜绾ц溅鐨勬帓姘旈噺鍙珮鍙綆銆傞氬父鏈 A銆 B銆 C銆 D绛夌骇杞︼紝鍚勫浗鏍囧噯涓嶅悓锛屾垜鍥芥洿娌℃湁缁熶竴鐨勬爣鍑嗭紝鍥犱负寰峰浗姹借溅棣栧厛涓庢垜鍥藉悎璧勫苟鍗犻浜嗕竴瀹氬競鍦猴紝鍥犳寰峰浗姹借溅澶氶噰鐢ㄥ痉鍥藉垎绾ф硶锛氭牴鎹痉鍥芥苯杞﹀垎绾ф爣鍑嗭紝A0銆丄00绾...
  • c鐨勫叕寮忔槸浠涔?
    绛旓細m>n銆傛帓鍒楃粍鍚c鐨勫叕寮忥細C(n,m)=A(n,m)/m!=n!/m!(n-m)!涓嶤(n,m)=C(n,n-m)銆(n涓轰笅鏍,m涓轰笂鏍)銆備緥濡侰(4,2)=4!/(2!*2!)=4*3/(2*1)=6,C(5,2)=C(5,3)銆傛帓鍒楃粍鍚坈璁$畻鏂规硶锛欳鏄粠鍑犱釜涓夊彇鍑烘潵锛屼笉鎺掑垪锛屽彧缁勫悎銆侰(n锛宮)=n*(n-1)*...*(n-m+1)/m...
  • c鏄粈涔堟剰鎬
    绛旓細c++鐨勫叿浣撳惈涔夊涓嬶細C++鏄C璇█鐨勭户鎵匡紝瀹冩棦鍙互杩涜C璇█鐨勮繃绋嬪寲绋嬪簭璁捐锛屽張鍙互杩涜浠ユ娊璞℃暟鎹被鍨嬩负鐗圭偣鐨勫熀浜庡璞$殑绋嬪簭璁捐锛岃繕鍙互杩涜浠ョ户鎵垮拰澶氭佷负鐗圭偣鐨勯潰鍚戝璞$殑绋嬪簭璁捐銆侰++鎿呴暱闈㈠悜瀵硅薄绋嬪簭璁捐鐨勫悓鏃讹紝杩樺彲浠ヨ繘琛屽熀浜庤繃绋嬬殑绋嬪簭璁捐锛屽洜鑰孋++灏遍傚簲鐨勯棶棰樿妯¤岃锛屽ぇ灏忕敱涔嬨侰++涓嶄粎鎷ユ湁...
  • C琛ㄧず浠涔堟剰鎬?
    绛旓細鐢C琛ㄧず鐨勬槸缁勫悎绠楁硶锛孋62锛6鍦ㄤ笅锛2鍦ㄤ笂锛夌殑绠楁硶涓 涓嬫柟鐨6浣滀负鍒嗘瘝杩涜闃朵箻锛屼笂鏂圭殑2浣滀负鍒嗘瘝6鐨勯樁涔樹釜鏁帮紝浠ュ強浣滀负鍒嗗瓙杩涜闃朵箻 鑻ョ敤A62(6鍦ㄤ笅锛2鍦ㄤ笂锛夊垯涓烘帓鍒楃畻娉曪紝鍗筹細姝ゆ椂涓婃柟鐨2鍙綔涓轰笅鏂6闃朵箻鐨勪釜鏁帮紝涓嶅啀浣滀负鍒嗗瓙杩涜闃朵箻銆
  • 扩展阅读:paperpass免费入口 ... visual studio code ... java入门网站 ... sgx disabled by bios ... c#await ... c#override ... java编程入门 ... dev c++ ... c#datatable ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网