輕量級Excel讀取器ExcelReader

2021-10-19 18:13:28 字數 1159 閱讀 9829

使用者上傳excel檔案,要求讀取裡面資料,其實可以很簡單!新版excel2007以上的xlsx檔案,本質上是openxml格式,只需要解開壓縮包然後讀取內部xml即可得到想要的資料。excelreader 用於快速讀取單sheet的excel資料,早期是收費**原始碼的專案,最近一年轉為開源。

nuget包:newlife.core

如果是csv格式檔案,可以選擇csvfile:

excelreader 的設計非常簡單,通過檔名或者資料流例項化物件後,直接readrows返回列舉數。

var reader = new excelreader("data/test.xlsx");

var rows = reader.readrows().tolist();

assert.equal(927, rows.count);

var names = "序號,名字,暱稱,啟用,年齡,生日,時間,餘額,比率".split(",");

var fields = rows[0].cast().toarray();

assert.equal(names.length, fields.length);

for (var i = 0; i < names.length; i++)

var values = "111,stone,大石頭,1,36.6,1984-07-01,2020-03-04 20:08:45,323.452,0.234".split(",");

var row1 = rows[1];

assert.equal(values.length, row1.length);

for (var i = 0; i < values.length; i++)

readrows原型如下:

/// 逐行讀取資料,第一行很可能是表頭

/// 工作表名。一般是sheet1/sheet2/sheet3,預設空,使用第乙個資料表

///

public ienumerablereadrows(string sheet = null);

excelreader讀取是並不會一次性載入整個檔案進入記憶體,而是通過readrows返回乙個列舉數,在列舉的過程中逐行讀取。因此excelreader的記憶體消耗特別低,讀取速度還特別快,並且支援讀取超大檔案。

C 使用資料讀取器

很久以前就借了一本 beginning c databases from novice to professional 最近閒來無事終於可以拜讀一下。讀來發現自己之前的資料庫操作是何等的粗鄙。今天 抽時間記錄下一些關於資料讀取器有關的內容。在本書後面的資料集時提及 如果只想讀取資料和顯示資料,則只需...

paddlepaddle定義資料讀取器

當檔案資料含有大量資料時,無法一次性載入到記憶體中,需要分批次操作訓練資料。import numpy as np import paddle 自定義reader creator,從文字中讀取一行資料 defreader creator filepath def reader with open fi...

nodejs流之行讀取器例子

我們現在寫乙個類,然後可以傳入乙個檔案路徑得到類的例項 然後我們可以監聽它的newline事件,當這個行讀取器每次讀到一行的時候就會向外發射newline事件,當讀到結束的時候會發射end事件 mac下的 unix系統裡,每行結尾只有換行 line feed 即 n windows系統裡面,每行結尾...