求一个使用Aspose.cells控件将Excel数据导入到SQL SERVER的方法,谢谢大家!!
1.aspose.cells是收费的!当然也有破解的,如果是单纯是将excel数据导入导出用npoi就可以了
2.npoi简单代码
using (FileStream fs = File.OpenRead("1.xlsx")) { IWorkbook wk = new XSSFWorkbook(fs); //读取03的xls //IWorkbook wk = new HSSFWorkbook(); //读取07之xlsx for (int i = 0; i < wk.NumberOfSheets; i++) { ISheet sheet = wk.GetSheetAt(i); Console.WriteLine("============{0}==Start============", sheet.SheetName); for (int j = 0; j <= sheet.LastRowNum; j++) { IRow row = sheet.GetRow(j); for (int k = 0; k < row.LastCellNum; k++) { ICell cell = row.GetCell(k); Console.WriteLine(cell.ToString() + "\t"); } } Console.WriteLine("============{0}==End==============", sheet.SheetName); } }
谢谢!可是是必须要用aspose.cells,请问知道在MVC的模式下知道怎么处理吗?
@小Jerry小耗子: 去这里看看http://www.cnblogs.com/muer/p/asposecell_linechart.html
@秋壶冰月: 谢谢!得到的数据怎么更新至数据库知道怎么处理吗?
//先加载文件 var book = new Workbook("OpenXml.xlsx"); //获取指定的sheet var sheet = book.Worksheets["OpenXml"]; // sheet.QueryTables. var cells = sheet.Cells; var rowCount = cells.MaxDataRow;//行数 var colCount = cells.MaxDataColumn;//列数 //构造DataTable和添加列 var dt = new DataTable("ImportTable"); dt.Columns.Add("col1"); dt.Columns.Add("col2"); dt.Columns.Add("col3"); for (var i = 0; i < rowCount; i++) { var paList = new List<object>(); for (var j = 0; j < 3; j++)//这里处理三个列 { paList.Add(cells[i, j]); } dt.Rows.Add(paList); } //这里都是DataTable了,那么后续的导入,我只能呵呵了。
部分代码,仅供参考。
谢谢!得到的数据怎么更新至数据库知道怎么处理吗?
@小Jerry小耗子: DataTable到数据库的方式太多了,你可以用DataSet的Update方法,也可以用SqlBulkCopy的大数据导入方案。