androidexcel
⑴ 告別繁瑣輸入,Android 版 Excel 支持「拍照錄入數據」
去年,微軟宣布將為 Excel 帶來多項新功能,在最近的版本更新中,「從圖片插入數據」也正式來到了 Android 版 Excel 上,Microsoft 365 訂閱用戶可以 通過手機拍照的方式將數據轉化為數據表格。
從演示動畫來看,整個過程和其他 OCR 應用類似,只需要打開手機攝像頭拍下需要轉化成數字數據的表格並框選表格的范圍,書籍或者文件上的數據便會自動填入到數字表格中,省去了手動輸入的繁瑣。
目前,這個功能僅對在 Android 版 Excel 上線,而且需要成為 Microsoft 365 訂閱用戶才能夠體驗,同時如果你是 iOS 用戶的話,可能需要再等一等,微軟稱將在未來的 iOS 版本更新中加入這一功能。
⑵ android讀取excel文件第三方類庫都有哪些
目前應用比較多的處理Excel的類庫主要有兩種JXL 和POI。
都是開源項目,POI是apache下的子項目,經過研究和比較覺得POI更新更快一些。
到目前為止已經支持Excel2007版本了,不過目前也是3.5的beta4版以上才支持。JXL貌似還不行,但是個人覺得在使用上JXL簡單一些。
另外JXL還有一個小問題需要注意一下在讀取Excel文件是單次讀不可以超過10000行,否則會溢出。經過試驗9999可以,10000就不行了,不知道jxl為什麼要控制在這個數。
因此如果兄弟們需要單次讀取大數據量的時候需要手工處理下,分次讀取就可以了。
因此建議處理EXCEL97-2003時可選用JXL,處理2007版本可選擇POI,
各種用法四處都有這里只貼上JXL讀取Excel97-03和POI讀取Excel2007的代碼:
public List<FSNInfo> readExcel07(String filepath) throws IOException{
List<Info> fsnList = new ArrayList<Info>(10);
//取得excel
XSSFWorkbook xwb = new XSSFWorkbook(filepath);
//取得Excel的第一個sheet;
XSSFSheet sheet = xwb.getSheetAt(0);
XSSFRow row;
//遍歷sheet的所有行,前兩個單元格,設置為Info的屬性,放入ArrayList返回
for (int i = sheet.getFirstRowNum(); i < sheet.getPhysicalNumberOfRows(); i++) {
Info fsn;
row = sheet.getRow(i);
fsn.set1(row.getCell(0).toString());
fsn.set2(row.getCell(1).toString());
fsnList.add(fsn);
}
return fsnList;
}
public List<Info> readExcelSubRecord(int start,int len) {
if(wb == null)
return null;
List<Info> list = new ArrayList<Info>(10);
try {
Workbook book = wb;
Sheet se = book.getSheet(0);
int rownum = start+len;
for (int i = start; i < rownum; i++) {
Info fsn;
fsn.set1(se.getCell(0, i).getContents());
fsn.set2(se.getCell(1, i).getContents());
list.add(fsn);
}
book.close();
} catch (Exception e) {
logger.error("Parse excel97-2003 error: "+e);
return null;
}
return list;
}