論Web開發如何讀取上傳的xls的內容

2021-07-26 17:49:34 字數 3313 閱讀 3865

前台上傳後的結果判斷,js**:

function

addpatchuser

());

}else);

$('#table').jqgrid('setgridparam',).trigger("reloadgrid");

$('#pathcdialog').dialog('close');}},

error:function

(xhr)

});}else);

return

false;}}

前台效果圖:

後台接收檔案,有兩種方法。

方法一:

首先引入jar:commons-fileupload

或者新增依賴

tomcatgroupid>

commons-fileuploadartifactid>

1.0-5.5.23version>

dependency>

實現**:

控制器:

/**

* 接收上傳的xls

讀取xls裡面的內容。需要引入jar:poi-ooxml

或者新增依賴:

org.apache.poigroupid>

poi-ooxmlartifactid>

3.12version>

dependency>

然後開始讀取檔案內容,如果是檔案的話,在利用hssfworkbook類轉化為workbook.

**如下:

@override

@suppresswarnings("resource")

public

intgetuserinfofromuploadxml(list> list) }}

}}} catch (exception e)

return enumutil.failure.getvalue();

}

方法二:

/**

* 接收上傳的xls

*@param file

*/@responsebody

public

void

uploadxls(@requestparam(value="file") multipartfile file)

service層

@suppresswarnings("resource")

@override

public

void

batchaddcustomerinfo(multipartfile file)

}} catch (exception e)

}

最後一步就是批量儲存xls中的內容,上面操作已經讀取了xls檔案,下面就是記性一行一行的單元格的內容的獲取了。其中需要注意的是

hssfrow row = sheet.getrow(index);//讀取指定行

row.getcell(i).getnumericcellvalue()//獲取指定行的內容。

getnumericcellvalue()為獲取的內容都是資料,獲取到的是double型別。getcelltype()=0

getstringcellvalue()獲取到的內容是字串,獲取到的是string型別,但是這兩個獲取之前一定要判斷row.getcell(index)指定單元格的內容是都非空,否則的話會報illegalstateexception異常。

下面是我進行使用者資訊批量插入的方法,這裡只選擇了幾項資訊插入。

@override

public void batchadduser(final hssfsheet sheet) else if (row.getcell(i).getstringcellvalue().equals("女")) else

++i;

string telephone = row.getcell(i) == null ? null: string.valueof(row.getcell(i).getnumericcellvalue());

ps.setstring(num++, telephone);// **

++i;

if (row.getcell(i).getstringcellvalue().equals("護照")) else if (row.getcell(i).getstringcellvalue().equals("駕照")) else

++i;

ps.setstring(num++,

row.getcell(i) == null ? null : string.valueof(row.getcell(i).getstringcellvalue()));// 證件號碼

++i;

ps.setstring(num++, row.getcell(i) == null ? null : row.getcell(i).getstringcellvalue());

if (row.getcell(i++).getstringcellvalue().equals("是")) catch (illegalstateexception e)

} else

++i;

if (row.getcell(i) != null) catch (illegalstateexception e)

} else

sysuserdao.add(sysuser);}}

}@override

public int getbatchsize()

});}

到此就結束了,這樣就可以上傳乙個xls的檔案,並且讀取內容,進行批量儲存了。

如何選擇合適的Web開發框架

web層的開發框架,數量非常多,而且各有特色,如 struts webwork spring mvc tapestry jsf webpage3.0 開發框架的選擇,始終是個仁者見仁 智者見智的事情。下面先來看看為什麼要使用web開發框架 使用框架的必然性 框架,即framework。其實就是某種應...

ASP開發 如何提高WEB程式的效率

很多非常不喜歡用asp來程式設計,他們總是抱怨說asp程式太慢,效率太低。更希望用php,jsp等來寫程式。其實不能從 認為 這個角度來看問題 而應該從實際中看問題,asp真的很慢的嗎,那麼微軟的站為何用asp也不慢呢?php真的很快嗎,其實它也仍然是解釋性的語言。只不過在linux下的結合比較好而...

在Web開發中,如何實現會話的跟蹤?

a 隱藏表單域一般是在表單提交時在jsp中宣告乙個隱藏域,可攜帶資料到表單提交後的頁面。如下 b http是無狀態協議,cookie是客戶端儲存使用者會話資料,用於儲存使用者會話記錄。c 當客戶端瀏覽器禁用cookie時,只有採用url複寫的方式將sessionid攜帶在url的末尾來儲存會話記錄。...