using System;using System.Data;using System.Text;using System.Windows.Forms;using System.ComponentModel;using System.Drawing;using System.IO;using System.Xml;namespace Common...{ DataGrid数据另存为#region DataGrid数据另存为 public class dG_Save ...{ //======Save as TXT======// public static void SaveAsTXT(DataGrid dG_1,DataSet dS_1,string FileName) ...{ FileStream fs = new FileStream(FileName,FileMode.Create,FileAccess.Write); StreamWriter bw = new StreamWriter(fs,System.Text.Encoding.Default); int i,j,l_ColCount,l_RowCount; l_RowCount = dS_1.Tables[0].Rows.Count + 1; l_ColCount = dG_1.TableStyles[0].GridColumnStyles.Count; string[] ColumnsValues = new string[l_ColCount]; i=1; for(j=1;j<=l_ColCount;j++) ...{ try ...{ if(dG_1.TableStyles[0].GridColumnStyles[j-1].Width < 5) continue; ColumnsValues[j-1] = dG_1.TableStyles[0].GridColumnStyles[j-1].HeaderText; bw.Write(ColumnsValues[j-1]); bw.Write(" "); } catch...{} } bw.Write(" "); for(i=2;i<=l_RowCount;i++) ...{ for(j=1;j<=l_ColCount;j++) ...{ if(dG_1.TableStyles[0].GridColumnStyles[j-1].Width < 5) continue; ColumnsValues[j-1] = dG_1[i-2,j-1].ToString(); bw.Write(ColumnsValues[j-1]); bw.Write(" "); } bw.Write(" "); } bw.Close(); fs.Close(); } public static void SaveAsTXT(DataGrid dG_1,DataView dV_1,string FileName) ...{ FileStream fs = new FileStream(FileName,FileMode.Create,FileAccess.Write); StreamWriter bw = new StreamWriter(fs,System.Text.Encoding.Default); int i,j,l_ColCount,l_RowCount; l_RowCount = dV_1.Count + 1; l_ColCount = dG_1.TableStyles[0].GridColumnStyles.Count; string[] ColumnsValues = new string[l_ColCount]; i=1; for(j=1;j<=l_ColCount;j++) ...{ try ...{ if(dG_1.TableStyles[0].GridColumnStyles[j-1].Width < 5) continue; ColumnsValues[j-1] = dG_1.TableStyles[0].GridColumnStyles[j-1].HeaderText; bw.Write(ColumnsValues[j-1]); bw.Write(" "); } catch...{} } bw.Write(" "); for(i=2;i<=l_RowCount;i++) ...{ for(j=1;j<=l_ColCount;j++) ...{ if(dG_1.TableStyles[0].GridColumnStyles[j-1].Width < 5) continue; ColumnsValues[j-1] = dG_1[i-2,j-1].ToString(); bw.Write(ColumnsValues[j-1]); bw.Write(" "); } bw.Write(" "); } bw.Close(); fs.Close(); } //======Save as Excel======// public static void SaveAsExcel(DataGrid dG_1,DataSet dS_1,string FileName) ...{ Excel.Application ExcelApp; try ...{ ExcelApp = new Excel.Application(); } catch(Exception ex) ...{ MessageBox.Show("无法启动Excel!","错误",MessageBoxButtons.OK,MessageBoxIcon.Exclamation); return ; } if (ExcelApp == null) ...{ MessageBox.Show("无法启动Excel!","错误",MessageBoxButtons.OK,MessageBoxIcon.Exclamation); return ; } //=====ExcelApp.Visible = true;=====// Excel.Workbooks WorkBooks = ExcelApp.Workbooks; Excel._Workbook WorkBook = WorkBooks.Add(Excel.XlWBATemplate.xlWBATWorksheet); Excel.Sheets WorkSheets = WorkBook.Sheets; Excel._Worksheet WorkSheet = (Excel._Worksheet)WorkSheets.get_Item(1); Excel.Range MyRange = null; if (WorkSheet == null) ...{ MessageBox.Show("无法添加ExcelSheets!","错误",MessageBoxButtons.OK,MessageBoxIcon.Exclamation); return ; } int i,j,l_ColCount,l_RowCount; l_RowCount = dS_1.Tables[0].Rows.Count + 1; l_ColCount = dG_1.TableStyles[0].GridColumnStyles.Count; object Cell1 = WorkSheet.Cells[1,1],Cell2 = WorkSheet.Cells[l_RowCount,l_ColCount]; MyRange = WorkSheet.get_Range(Cell1,Cell1); string[] ColumnsValues = new string[l_ColCount]; i=1; for(j=1;j<=l_ColCount;j++) ...{ if(dG_1.TableStyles[0].GridColumnStyles[j-1].Width < 5) continue; ColumnsValues[j-1] = dG_1.TableStyles[0].GridColumnStyles[j-1].HeaderText; MyRange.set_Item(i,j,ColumnsValues[j-1]); } for(i=2;i<=l_RowCount;i++) ...{ for(j=1;j<=l_ColCount;j++) ...{ if(dG_1.TableStyles[0].GridColumnStyles[j-1].Width < 5) continue; ColumnsValues[j-1] = dG_1[i-2,j-1].ToString(); MyRange.set_Item(i,j,ColumnsValues[j-1]); } }// WorkSheet.Application.Save(FileName);// ExcelApp.SaveWorkspace(FileName);// ExcelApp.Save(FileName); WorkSheet.SaveAs(FileName+".xls",null,null,null,null,null,null,null,null); ExcelApp.Save(FileName); ExcelApp.Quit(); } public static void SaveAsExcel(DataGrid dG_1,DataView dV_1,string FileName) ...{ Excel.Application ExcelApp; try ...{ ExcelApp = new Excel.Application(); } catch(Exception ex) ...{ MessageBox.Show("无法启动Excel!","错误",MessageBoxButtons.OK,MessageBoxIcon.Exclamation); return ; } if (ExcelApp == null) ...{ MessageBox.Show("无法启动Excel!","错误",MessageBoxButtons.OK,MessageBoxIcon.Exclamation); return ; } //=====ExcelApp.Visible = true;=====// Excel.Workbooks WorkBooks = ExcelApp.Workbooks; Excel._Workbook WorkBook = WorkBooks.Add(Excel.XlWBATemplate.xlWBATWorksheet); Excel.Sheets WorkSheets = WorkBook.Sheets; Excel._Worksheet WorkSheet = (Excel._Worksheet)WorkSheets.get_Item(1); Excel.Range MyRange = null; if (WorkSheet == null) ...{ MessageBox.Show("无法添加ExcelSheets!","错误",MessageBoxButtons.OK,MessageBoxIcon.Exclamation); return ; } int i,j,l_ColCount,l_RowCount; l_RowCount = dV_1.Count + 1; l_ColCount = dG_1.TableStyles[0].GridColumnStyles.Count; object Cell1 = WorkSheet.Cells[1,1],Cell2 = WorkSheet.Cells[l_RowCount,l_ColCount]; MyRange = WorkSheet.get_Range(Cell1,Cell1); string[] ColumnsValues = new string[l_ColCount]; i=1; for(j=1;j<=l_ColCount;j++) ...{ if(dG_1.TableStyles[0].GridColumnStyles[j-1].Width < 5) continue; ColumnsValues[j-1] = dG_1.TableStyles[0].GridColumnStyles[j-1].HeaderText; MyRange.set_Item(i,j,ColumnsValues[j-1]); } for(i=2;i<=l_RowCount;i++) ...{ for(j=1;j<=l_ColCount;j++) ...{ if(dG_1.TableStyles[0].GridColumnStyles[j-1].Width < 5) continue; ColumnsValues[j-1] = dG_1[i-2,j-1].ToString(); MyRange.set_Item(i,j,ColumnsValues[j-1]); } } // WorkSheet.Application.Save(FileName); // ExcelApp.SaveWorkspace(FileName); // ExcelApp.Save(FileName); WorkSheet.SaveAs(FileName+".xls",null,null,null,null,null,null,null,null); ExcelApp.Save(FileName); ExcelApp.Quit(); } } #endregion}