微信小程序 > 微信公开课 > C# 。。100分求高手弄一个简单的小程序。。。
微信小程序,微信公开课,C# 。。100分求高手弄一个简单的小程序。。。

C# 。。100分求高手弄一个简单的小程序。。。

2019-03-12 17:01:43

微信公开课小程序热门讨论「C# 。。100分求高手弄一个简单的小程序。。。」最新回复-usingSystem;usingSystem.Drawing;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Windows.Forms;usingSystem.Reflection;namespaceDataOutAndIn{///summary///OutPutExcel导出为EXCEL////summarypublicclassOutPutExcel{privateExcel.ApplicationoXL;privateExcel._WorkbookoWB;privateExcel._WorksheetoSheet;privateExcel.RangeoRng;privateSystem.Data.DataTabledt;privateSystem.Windows.Forms.SaveFileDialogSFD=newSaveFileDialog();publicOutPutExcel(){this.dt=newSystem.Data.DataTable();}///summary///快速导出Excel,直接在保存对话框中设好你要保存的路径和名字即可////summary///paramname=dtDataTable用户指定的数据表/parampublicvoidFastOutPutExcel(System.Data.DataTabledtDataTable){this.dt=dtDataTable;try{this.SFD.Filter=Excel文件(*.xls)|*.xls;this.SFD.FilterIndex=1;this.SFD.FileName=this.dt.TableName.ToString()+.xls;this.SFD.RestoreDirectory=false;if(this.SFD.ShowDialog()==System.Windows.Forms.DialogResult.OK){#region///////////////////////////////////2007.05.23从条件外移入///////////////////////////////////////启动Excel,并获取应用程序实例try{oXL=newExcel.Application();}catch(Exceptionexp){MessageBox.Show(exp.Message);}oXL.Visible=false;//Getanewworkbook.oWB=(Excel._Workbook)(oXL.Workbooks.Add(Missing.Value));oSheet=(Excel._Worksheet)oWB.ActiveSheet;//把表的列名加载进excel的第一行for(inti=0;ithis.dt.Columns.Count;i++){oSheet.Cells[1,i+1]=this.dt.Columns[i].ColumnName.ToString();}//设置第一行标题的字体格式为黑体居中//oSheet.get_Range(A1,D1).Font.Bold=true;//oSheet.get_Range(A1,D1).VerticalAlignment=Excel.XlVAlign.xlVAlignCenter;////创建一个二维数组把表中的数据读进来等待进行向excel加载数据的操作string[,]strCellText=newstring[this.dt.Rows.Count,this.dt.Columns.Count];try{for(inti=0;ithis.dt.Rows.Count;i++){for(intj=0;jthis.dt.Columns.Count;j++){strCellText[i,j]=this.dt.Rows[i][j].ToString();}}}catch(Exceptionex){MessageBox.Show(ex.Message);}stringExcelColumLable=this.GetCellNameLable((int)(this.dt.Columns.Count/26))+this.GetCellNameLable((int)(this.dt.Columns.Count%26));stringmax=ExcelColumLable+1;introw=this.dt.Rows.Count+1;ExcelColumLable+=row.ToString();#endregion///////////////////////////////////////////////////////////////////////////////////////////////oSheet.get_Range(A2,ExcelColumLable).Value2=strCellText;oRng=oSheet.get_Range(A1,max);oRng.EntireColumn.AutoFit();oXL.Visible=false;oXL.UserControl=true;oSheet.SaveAs(this.SFD.FileName,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value);try{oXL.Workbooks.Close();oXL.Quit();oXL=null;}catch(Exceptionexp){MessageBox.Show(exp.Message);}}//else//{//try//{//oXL.Workbooks.Close();//oXL.Quit();//oXL=null;//}//catch(Exceptionexp)//{//MessageBox.Show(exp.Message+测试);//}//}}catch(ExceptiontheException){StringerrorMessage;errorMessage=Error:;errorMessage=String.Concat(errorMessage,theException.Message);errorMessage=String.Concat(errorMessage,Line:);errorMessage=String.Concat(errorMessage,theException.Source);MessageBox.Show(errorMessage,Error);}}///summary///快速导出Excel,直接在保存对话框中设好你要保存的路径和名字即可,最多只导出二十六列以内的表////summary///paramname=dtDataTable用户指定的数据表/parampublicvoidFastOutPutExcelIn26Colunms(System.Data.DataTabledtDataTable){this.dt=dtDataTable;try{this.SFD.Filter=Excel文件(*.xls)|*.xls;this.SFD.FilterIndex=1;this.SFD.FileName=this.dt.TableName.ToString()+.xls;this.SFD.RestoreDirectory=false;if(this.SFD.ShowDialog()==System.Windows.Forms.DialogResult.OK){#region/////////////////////////////////////2007.05.23从条件语句外移入///////////////////////////////////////////////////启动Excel并获取应用程序实例try{oXL=newExcel.Application();}catch(Exceptionexp){MessageBox.Show(exp.Message);}oXL.Visible=false;//Getanewworkbook.oWB=(Excel._Workbook)(oXL.Workbooks.Add(Missing.Value));oSheet=(Excel._Worksheet)oWB.ActiveSheet;//把表的列名加载进excel的第一行for(inti=0;ithis.dt.Columns.Count;i++){oSheet.Cells[1,i+1]=this.dt.Columns[i].ColumnName.ToString();}//创建一个二维数组把表中的数据读进来等待进行向excel加载数据的操作string[,]strCellText=newstring[this.dt.Rows.Count,this.dt.Columns.Count];try{for(inti=0;ithis.dt.Rows.Count;i++){for(intj=0;jthis.dt.Columns.Count;j++){strCellText[i,j]=this.dt.Rows[i][j].ToString();}}}catch(Exceptionex){MessageBox.Show(ex.Message);}stringExcelColumLable=this.GetCellNameLable((int)(this.dt.Columns.Count%26));stringmax=ExcelColumLable+1;introw=this.dt.Rows.Count+1;ExcelColumLable+=row.ToString();#endregion/////////////////////////////////////////////////////////////////////////////////////////oSheet.get_Range(A2,ExcelColumLable).Value2=strCellText;oRng=oSheet.get_Range(A1,max);oRng.EntireColumn.AutoFit();oXL.Visible=false;oXL.UserControl=true;oSheet.SaveAs(this.SFD.FileName,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value,Missing.Value);try{oXL.Workbooks.Close();oXL.Quit();oXL=null;}catch(Exceptionexp){MessageBox.Show(exp.Message);}}//else//{//try//{//oXL.Workbooks.Close();//oXL.Quit();//oXL=null;//}//catch(Exceptionexp)//{//MessageBox.Show(exp.Message);//}//}}catch(ExceptiontheException){StringerrorMessage;errorMessage=Error:;errorMessage=String.Concat(errorMessage,theException.Message);errorMessage=String.Concat(errorMessage,Line:);errorMessage=String.Concat(errorMessage,theException.Source);MessageBox.Show(errorMessage,Error);}}///summary///逐条导出Excel,它将打开一个Excel表格并把指定的表内数据导出到这个Excel进程中来////summary///paramname=dtDataTable用户指定的数据表/parampublicvoidSlowOutPutExcel(System.Data.DataTabledtDataTable){this.dt=dtDataTable;try{//启动EXCEL,并获取应用程序实例oXL=newExcel.Application();oXL.Visible=true;//Getanewworkbook.oWB=(Excel._Workbook)(oXL.Workbooks.Add(Missing.Value));oSheet=(Excel._Worksheet)oWB.ActiveSheet;//把表的列名加载进excel的第一行for(inti=0;ithis.dt.Columns.Count;i++){oSheet.Cells[1,i+1]=this.dt.Columns[i].ColumnName.ToString();}//设置第一行标题的字体格式为黑体居中//oSheet.get_Range(A1,D1).Font.Bold=true;//oSheet.get_Range(A1,D1).VerticalAlignment=Excel.XlVAlign.xlVAlignCenter;try{for(inti=0;ithis.dt.Rows.Count;i++){for(intj=0;jthis.dt.Columns.Count;j++){oSheet.Cells[i+2,j+1]=this.dt.Rows[i][j].ToString();}}}catch(Exceptionex){MessageBox.Show(ex.Message);}stringExcelColumLable=this.GetCellNameLable((int)(this.dt.Columns.Count/26))+this.GetCellNameLable((int)(this.dt.Columns.Count%26));stringmax=ExcelColumLable+1;oRng=oSheet.get_Range(A1,max);oRng.EntireColumn.AutoFit();oXL.Visible=true;oXL.UserControl=true;}catch(ExceptiontheException){StringerrorMessage;errorMessage=Error:;errorMessage=String.Concat(errorMessage,theException.Message);errorMessage=String.Concat(errorMessage,Line:);errorMessage=String.Concat(errorMessage,theException.Source);MessageBox.Show(errorMessage,Error);}}privatestringGetCellNameLable(intindex){stringlable=;switch(index){case1:lable=A;break;case2:lable=B;break;case3:lable=C;break;case4:lable=D;break;case5:lable=E;break;case6:lable=F;break;case7:lable=G;break;case8:lable=H;break;case9:lable=I;break;case10:lable=J;break;case11:lable=K;break;case12:lable=L;break;case13:lable=M;break;case14:lable=N;break;case15:lable=O;break;case16:lable=P;break;case17:lable=Q;break;case18:lable=R;break;case19:lable=S;break;case20:lable=T;break;case21:lable=U;break;case22:lable=V;break;case23:lable=W;break;case24:lable=X;break;case25:lable=Y;break;case0:lable=Z;break;default:break;}returnlable;}}}本程序在进行10到26进制转换时,做得不好.你可以进行修改使用.不过,现在这个,在上百列之内是不会有问题的.你可能在使用时需要引用excel和office.如果想要导入到数据库中去.一般的思路是先把excel当成一个数据库进行查询,再把查询到的数据写入目标库.这个过程比导出简单多了.
1 publicclassImportExportToExcel 2 { 3 privatestringstrConn; 45 privateSystem.Windows.Forms.OpenFileDialogopenFileDlg=newSystem.Windows.Forms.OpenFileDialog(); 6 privateSystem.Windows.Forms.SaveFileDialogsaveFileDlg=newSystem.Windows.Forms.SaveFileDialog();78 publicImportExportToExcel() 9 {10  //11  //TODO:在此处添加构造函数逻辑12  //13  this.openFileDlg.DefaultExt=xls;14  this.openFileDlg.Filter=Excel文件(*.xls)|*.xls;15 16  this.saveFileDlg.DefaultExt=xls;17  this.saveFileDlg.Filter=Excel文件(*.xls)|*.xls;18 19 }20 21 从Excel文件导入到DataSet#region从Excel文件导入到DataSet22 /////summary23 /////从Excel导入文件24 //////summary25 /////paramname=strExcelFileNameExcel文件名/param26 /////returns返回DataSet/returns27 //publicDataSetImportFromExcel(stringstrExcelFileName)28 //{29 // returndoImport(strExcelFileName);30 //}31 /**////summary32 ///从选择的Excel文件导入33 ////summary34 ///returnsDataSet/returns35 publicDataSetImportFromExcel()36 {37  DataSetds=newDataSet();38  if(openFileDlg.ShowDialog()==System.Windows.Forms.DialogResult.OK) 39  ds=doImport(openFileDlg.FileName);40  returnds;41 }42 /**////summary43 ///从指定的Excel文件导入44 ////summary45 ///paramname=strFileNameExcel文件名/param46 ///returns/returns47 publicDataSetImportFromExcel(stringstrFileName)48 {49  DataSetds=newDataSet();50  ds=doImport(strFileName);51  returnds;52 }53 /**////summary54 ///执行导入55 ////summary56 ///paramname=strFileName文件名/param57 ///returnsDataSet/returns58 privateDataSetdoImport(stringstrFileName)59 {60  if(strFileName==)returnnull;61 62  strConn=Provider=Microsoft.Jet.OLEDB.4.0;+63  DataSource=+ strFileName+;+64  ExtendedProperties=Excel8.0;;65  OleDbDataAdapterExcelDA=newOleDbDataAdapter(SELECT*FROM[Sheet1$],strConn);66 67  DataSetExcelDs=newDataSet();68  try69  {70  ExcelDA.Fill(ExcelDs,ExcelInfo);7172  }73  catch(Exceptionerr)74  {75  System.Console.WriteLine(err.ToString());76  }77  returnExcelDs;787980  81 }82 #endregion83 84 从DataSet到出到Excel#region从DataSet到出到Excel85 /**////summary86 ///导出指定的Excel文件87 ////summary88 ///paramname=ds要导出的DataSet/param89 ///paramname=strExcelFileName要导出的Excel文件名/param90 publicvoidExportToExcel(DataSetds,stringstrExcelFileName)91 {92  if(ds.Tables.Count==0||strExcelFileName==)return;93  doExport(ds,strExcelFileName);94  95 96 }97 /**////summary98 ///导出用户选择的Excel文件99 ////summary100 ///paramname=dsDataSet/param101 publicvoidExportToExcel(DataSetds)102 {103  if(saveFileDlg.ShowDialog()==System.Windows.Forms.DialogResult.OK)104  doExport(ds,saveFileDlg.FileName);105  106 }107 /**////summary108 ///执行导出109 ////summary110 ///paramname=ds要导出的DataSet/param111 ///paramname=strExcelFileName要导出的文件名/param112 privatevoiddoExport(DataSetds,stringstrExcelFileName)113 {114  115  Excel.Applicationexcel=newExcel.Application();116  117  // Excel.Workbookobj=newExcel.WorkbookClass();118  // obj.SaveAs(c:zn.xls,Excel.XlFileFormat.xlExcel9795,null,null,false,false,Excel.XlSaveAsAccessMode.xlNoChange,null,null,null,null);119120  introwIndex=1;121  intcolIndex=0;122123  excel.Application.Workbooks.Add(true);124  125 126  System.Data.DataTabletable=ds.Tables[0];127  foreach(DataColumncolintable.Columns)128  {129  colIndex++;130  excel.Cells[1,colIndex]=col.ColumnName; 131  }132133  foreach(DataRowrowintable.Rows)134  {135  rowIndex++;136  colIndex=0;137  foreach(DataColumncolintable.Columns)138  {139colIndex++;140excel.Cells[rowIndex,colIndex]=row[col.ColumnName].ToString();141  }142  }143  excel.Visible=false;144  excel.Sheets[0]=sss;145  excel.ActiveWorkbook.SaveAs(strExcelFileName+.XLS,Excel.XlFileFormat.xlExcel9795,null,null,false,false,Excel.XlSaveAsAccessMode.xlNoChange,null,null,null,null);146  147  148  //wkbNew.SaveAsstrBookName149150151  //excel.Save(strExcelFileName);152  excel.Quit();153  excel=null;154  155  GC.Collect();//垃圾回收156 }157 #endregion 更多有关「C# 。。100分求高手弄一个简单的小程序。。。」的疑问请扫码关注微信公开课+小程序!
标签:微信公开课,小程序
微信小程序,微信公开课,C# 。。100分求高手弄一个简单的小程序。。。

「C# 。。100分求高手弄一个简单的小程序。。。」热议话题订阅

方法1:微信扫描微信公开课小程序码即可订阅热议话题「C# 。。100分求高手弄一个简单的小程序。。。」

方法2:微信搜索微信公开课小程序名称进入,即可订阅热议话题「C# 。。100分求高手弄一个简单的小程序。。。」

方法3:微信网页访问即速商店,长按识别微信公开课小程序码即可订阅热议话题「C# 。。100分求高手弄一个简单的小程序。。。」

微信公开课小程序热议话题「C# 。。100分求高手弄一个简单的小程序。。。」由微信公开课原创摘录于微信小程序商店shop.jisuapp.cn,转载请注明出处。

微信公开课热议话题「C# 。。100分求高手弄一个简单的小程序。。。」由微信公开课开发者向微信用户提供,并对本服务内容、数据资料及其运营行为等真实性、合法性及有效性承担全部责任。