问题描述
winform把excel文件导入到sqlserver数据库中就是点击导入按钮就把excel相应的数据导入到sqlserver中,需要详细的代码希望代码带注释谢谢!
解决方案
解决方案二:
最简单方法,选择表,进入编辑状态1、CTRL+C2、CTRL+V
解决方案三:
Aspose.Cells,将文件读取到datatable中然后再将datatable里面的内容通过Insert语句也好,SqlBulkCopy也行,添加到数据库中
解决方案四:
将excel表看成数据库,里面的sheet看作表,导入sql相当于两个表之间传递数据http://blog.csdn.net/chentaihan/article/details/6031733
解决方案五:
你的目的是要完成这个内容还是想学算法?如果是前者你找个工具,一般里面的导入就可以了
解决方案六:
//创建用于存储excel中数据的DataTableDataTabledt=newDataTable();using(FileStreamfs=newFileStream(@"E:1.xlsx",FileMode.Open,FileAccess.Read)){using(ExcelPackageexcel=newExcelPackage(fs)){//选择excel中的第一个表ExcelWorksheetsheet=excel.Workbook.Worksheets[1];//得到表中开始行和结束列号intstartCol=sheet.Dimension.Start.Column;intendCol=sheet.Dimension.End.Column;//得到表中开始列和结束行号intstartRow=sheet.Dimension.Start.Row;intendRow=sheet.Dimension.End.Row;//创建和excel表中相等的列for(inti=startCol;i<=endCol;i++){DataColumndc=newDataColumn(Convert.ToString(i),Type.GetType("System.String"));dt.Columns.Add(dc);}//循环取出表中数据,存入DataTablefor(inti=startRow;i<=endRow;i++){DataRowdr=dt.NewRow();for(intj=startCol;j<=endCol;j++){//得到excel中每个单元格中的值stringresule=sheet.Cells[i,j].Value.ToString();dr[Convert.ToString(j)]=resule;}dt.Rows.Add(dr);}}}//插入数据库using(SqlConnectionsql=newSqlConnection("Server=(local);Database=test;UserID=sa;Password=123")){//打开数据库sql.Open();//数据量较大可以使用这样的方式,较小就直接一行一行都可以using(SqlBulkCopybulk=newSqlBulkCopy(sql)){//数据库表名bulk.DestinationTableName="test";//写入数据库bulk.WriteToServer(dt);}}
解决方案七:
上面是使用EPPlus开源库读取的excel,比较适合office2007及以上以及大数据量,如果要读取office2003及小数据亮就使用npoi就可以了,原理类似