使用 MiniExcel,讀取Excel資料到IEnumerable或是DataTable,再轉成SQL轉到資料庫
Github : https://github.com/shps951023/MiniExcel
例子:
1. SQLite & Dapper 讀取大數據新增到資料庫
Note : 請不要呼叫 call ToList/ToArray 等方法,這會將所有資料讀到記憶體內
using (var connection = new SQLiteConnection(connectionString))
{
connection.Open();
using (var transaction = connection.BeginTransaction())
{
var rows = MiniExcel.Query(path);
foreach (var row in rows)
connection.Execute("insert into T (A,B) values (@A,@B)", new { row.A, row.B }, transaction: transaction);
transaction.Commit();
}
}
讀取excel插入資料庫1千萬筆數據花費30秒,最大26MB記憶體
資料來源: https://ithelp.ithome.com.tw/questions/10204298
沒有留言:
張貼留言