讀取Excel中的資料形成資料庫的插入指令碼

2021-09-11 10:13:10 字數 2773 閱讀 4637

由於是2007版本的excel,即.xlxs字尾,需要使用的jar包為

org.apache.poi

poi3.17

org.apache.poi

poi-ooxml

3.17

複製**

解析的工具類是網上找的,處理單元格中增加了日期和處理科學計數法等 下邊直接上**:

public class importexecl 

public int gettotalrows

() public int gettotalcells

() public string geterrorinfo

() public boolean validateexcel(string filepath)

/** 檢查檔案是否存在 */

file file = new file(filepath);

if (file == null || !file.exists())

return

true;

}public list> read(string filepath)

/** 判斷檔案的型別,是2003還是2007 */

boolean i***cel2003 = true;

if (wdwutil.i***cel2007(filepath))

/** 呼叫本類提供的根據流讀取的方法 */

file file = new file(filepath);

is = new fileinputstream(file);

datalst = read(is, i***cel2003);

is.close();

} catch (exception ex) finally catch (ioexception e) }}

/** 返回最後讀取的結果 */

return datalst;

}public list> read(inputstream inputstream, boolean i***cel2003) else

datalst = read(wb);

} catch (ioexception e)

return datalst;

}private list> read(workbook wb)

/** 迴圈excel的行 */

for (int r = 0; r < this.totalrows; r++)

listrowlst = new arraylist();

/** 迴圈excel的列 */

for (int c = 0; c < this.gettotalcells(); c++) else

break;

case hssfcell.cell_type_string: // 字串

cellvalue = cell.getstringcellvalue();

break;

case hssfcell.cell_type_boolean: // boolean

cellvalue = cell.getbooleancellvalue() + "";

break;

case hssfcell.cell_type_formula: // 公式

cellvalue = cell.getcellformula() + "";

break;

case hssfcell.cell_type_blank: // 空值

cellvalue = "";

break;

case hssfcell.cell_type_error: // 故障

cellvalue = "非法字元";

break;

default:

cellvalue = "未知型別";

break;}}

rowlst.add(cellvalue);

}/** 儲存第r行的第c列 */

datalst.add(rowlst);

}return datalst;

}public static void main(string args) throws exception

system.out.println();}}

}}class wdwutil

public static boolean i***cel2007(string filepath)

}複製**

public class process 

//使用bufferwriter寫入

filewriter fw = new filewriter(outfile, true);

bufferedwriter bw = new bufferedwriter(fw);

for(int i=0;iif(i>=2)else

}string eachline=sb.tostring();

// 去掉最後乙個 ,

eachline=eachline.substring(0,eachline.lastindexof(","));

eachline=eachline+");";

bw.write(eachline);

//每乙個語句換行

bw.newline();}}

bw.flush();

bw.close();

}}複製**

讀取Excel表中資料

1 匯入python的excel包 pip install xlsx 2 在工程中建立乙個 3 讀取excel表中資料,如下 import xlrd 這裡使用的excel檔案中資料為 文字 格式 開啟excel表 excel xlrd.open workbook 介面測試 data.xlsx 定位其...

讀取Excel檔案中的資料

string strsource file1.value string connstr provider microsoft.jet.oledb.4.0 data source strsource extended properties excel 8.0 string query select f...

Excel隨機生成資料

concatenate函式是乙個文字連線函式,非常簡單,和 的效果一樣。concatenate是乙個文字連線函式 語法 concatenate text1,text2,text3.其中text表示乙個個要連線起來的文字。隨機小寫字母 char int rand 25 97 隨機大寫字母 char i...