前天,被產品經理要求我將原本二十多個excel合併成乙個excel,合併後的乙個excel大概30w+左右的資料量,於是我使用poi對excel進行合併,我直接貼**。實驗資料大概15w左右,耗時大概35秒
合併excel**
public static void mergeexcel(string path, string outputpath) throws ioexception
file files = targetfile.listfiles(p -> p.getname().endswith(".xlsx"));
if (files == null || files.length <= 0)
string starttime = dateutil.getcurrenttimestr();
//2.資料合併
//目前預設只合併第乙個sheet,對於第乙個excel檔案,所有資料皆寫入,對於後面的excel,從第二行資料開始拿起
int sourcevalidrows = 0;
sxssfworkbook srcsxsswb = null;
for (int i = 0; i < files.length; i++) else
}sourcevalidrows = sourcevalidrows + targetsheet.getphysicalnumberofrows();
logger.info("有效行數:" + sourcesheet.getphysicalnumberofrows());
is.close();
targetxssfwb.close();}}
//3.寫入新檔案
fileoutputstream out = new fileoutputstream(outputpath);
srcsxsswb.write(out);
out.close();
srcsxsswb.dispose();
}
main方法
public static void main(string args) catch (ioexception e)
}
EXCEL合併多列
今天想實現乙個將 excel匯入到資料庫中的功能,這在以前我就實現過,本沒什麼。但問題是當晚列印出sql語句時,發現有很多空的資料,檢視了下excel 發現有乙個單元格中的資料是跨多列的。於是就要解決合併多列資料 的問題。通過網路,我找到了一種解決方法,我是這樣實現的 1.公式 concatenat...
excel多個檔案合併
多個excel檔案合併成乙個需要用ms office wps是不行的 1.將所有檔案放在乙個資料夾裡 2.在資料夾裡新建乙個空的excel開啟 如果是合併多個sheet的話,右鍵sheet全部選中,點選移動或複製工作表,選擇乙個工作表就o了 sub 合併當前目錄下所有工作簿的全部工作表 dim my...
excel用法記錄
插入 資料透視表 選擇分析資料 選擇函式,拖動統計的列名 開啟巨集 alt f11 開啟this workbook sub 函式名 cells.select selection.replace what 原資料 replacement 替換後資料 lookat xlpart,searchorder ...