excel文件上傳java
1、JavaExcel文件的本身漏洞導致了它有信息泄露的風險,所以對JavaExcel文件的上傳做了一定的限制。
2、解決方法。進入管理系統、安全管理,關閉文件上傳校驗的按鈕。以上是JavaExcel上傳失敗,無日誌的原因和解決辦法。
⑵ java web 怎麼導入excel文件
1.要正確的將Web客戶端的Excel文件導入到伺服器的資料庫中,需要將客戶端的Excel文件上傳到伺服器上。可以使用FileUpload控制項完成。2.Excel文件上傳到伺服器指定的目錄中,這里假設是該站點的upfiles目錄中。3.使用SQL語句從upfiles目錄中的上傳Excel文件中讀取數據顯示或寫入資料庫。
⑶ JAVA Excel文件上傳,上傳後的Excel文件打開時報有不可讀取的內容,怎麼回事
這樣接收,當然不行了,,,,,,使用smartupload等接收上傳,或Struts接收上傳的文件
文件上傳,要瀏覽器端編碼的 <form action="UploadServlet" method="post" enctype="multipart/form-data">
⑷ java怎麼把excel文件導入到web網頁上顯示
要正確的將Web客戶端的Excel文件導入到伺服器的資料庫中,需要將客戶端的Excel文件上傳到伺服器上。可以使用FileUpload控制項完成。
2. Excel文件上傳到伺服器指定的目錄中,這里假設是該站點的upfiles目錄中。
3. 使用SQL語句從upfiles目錄中的上傳Excel文件中讀取數據顯示或寫入資料庫。
⑸ 怎樣將Excel文件導入資料庫(在JSP環境下Java代碼)
我只給你說下第二步怎麼樣吧,其他的你自己應該可以解決的。
通過使用第三方包jxl.jar,我以前導過數據,也是解析Excel,將Excel中的數據導入資料庫中,這個包很好下,如果找不到可以留下郵箱
//程序說明: 要導入jxl.jar到Classpath中。
import jxl.*;
import java.io.*;
import jxl.write.*;
/**
* <p>java讀取Excel表格,拷貼心、更新Excel工作薄 </p>
*/
public class Test1 {
public static void main(String[] args) {
jxl.Workbook rwb = null;
try{
//構建Workbook對象 只讀Workbook對象
//直接從本地文件創建Workbook
//從輸入流創建Workbook
InputStream is = new FileInputStream("D://Book1.xls");
rwb = Workbook.getWorkbook(is);
//Sheet(術語:工作表)就是Excel表格左下角的Sheet1,Sheet2,Sheet3但在程序中
//Sheet的下標是從0開始的
//獲取第一張Sheet表
Sheet rs = rwb.getSheet(0);
//獲取Sheet表中所包含的總列數
int rsColumns = rs.getColumns();
//獲取Sheet表中所包含的總行數
int rsRows = rs.getRows();
//獲取指這下單元格的對象引用
for(int i=0;i<rsRows;i++){
for(int j=0;j<rsColumns;j++){
Cell cell = rs.getCell(j,i);
System.out.print(cell.getContents()+" ");
}
System.out.println();
}
//利用已經創建的Excel工作薄創建新的可寫入的Excel工作薄
jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File("D://Book2.xls"),rwb);
//讀取第一張工作表
jxl.write.WritableSheet ws = wwb.getSheet(0);
//獲取第一個單元格對象
jxl.write.WritableCell wc = ws.getWritableCell(0, 0);
//決斷單元格的類型,做出相應的轉化
if (wc.getType() == CellType.LABEL) {
Label l = (Label) wc;
l.setString("The value has been modified.");
}
//寫入Excel對象
wwb.write();
wwb.close();
}catch(Exception e){
e.printStackTrace();
}
finally{
//操作完成時,關閉對象,翻譯佔用的內存空間
rwb.close();
}
}
}
⑹ 怎樣通過JSP頁面上傳個Excel文件,並實現Java讀取EXCEL存入資料庫
1。通過jsp頁面接收上傳的excel文件到後台,
2,後台使用java連接資料庫
3.將excel文件通過io文件控制流讀入,然後使用jdbc寫入到資料庫
⑺ Java上傳excel,Excel數據或者格式會影響上傳速度,Excel哪些因素會影響上傳速度
如果只是文件上傳,那麼上傳速度只是與文件大小有關,而與裡面的數據是無關的。之所以2000條數據的Excel比3000條數據的Excel上傳還慢,應該是你的上傳過程除了上傳文件,還做了數據解析(讀取Excel)的功能,如果是這樣的話,那麼整個上傳速度還與數據內容有關,雖然數據量小,但數據內容多,解析速度慢,這樣也會導致你說的問題。
如果想解決此問題,可以分步進行,上傳時只上傳文件,後台接收到文件再統一解析處理。這樣既容易查找問題,又可以很好的解耦。
⑻ Java上傳Excel表格
public boolean myapp_readexcel(String filePath, int sheetNum) {//上傳的文件地址,sheetNum這個是excel下的那個sheet1的標志,sheet1這里對應數字是0
InputStream ins = null;
Workbook book = null;
try {
ins = new FileInputStream(filePath);
book = WorkbookFactory.create(ins);
getInsertData(book.getSheetAt(sheetNum));//這裡面進行讀取操作和業務邏輯
ins.close();
} catch (Exception e1) {
e1.printStackTrace();
} finally {
if (ins != null) {
try {
ins.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return res;
}
private boolean getInsertData(Sheet sheet) {
boolean res = false;
Iterator<Row> rit = sheet.iterator();//每一行的迭代
while (rit.hasNext()) {
lineMap = getDataByRow(rit);
System.out.println(lineMap.get("0"));
System.out.println(lineMap.get("1"));...................................
}
}
public Map<String,String> getDataByRow(Iterator<Row> rit){
Map<String, String> lineMap;
Row row;
Cell cell;
row = rit.next();
lineMap = new ConcurrentHashMap<String, String>(); // 用於接收每列的數據。
for (int i = 0; i <= row.getLastCellNum(); i++) {
cell = row.getCell(i);
String k = ""; // 用於接收每個單元格的數據。
if (cell == null) {
lineMap.put(String.valueOf((i)), k); // 賦值。
continue;
}
switch (cell.getCellType()) {
case Cell.CELL_TYPE_BLANK:
k = "";
break;
case Cell.CELL_TYPE_ERROR:
k = Byte.toString(cell.getErrorCellValue());
break;
case Cell.CELL_TYPE_STRING:
k = cell.getRichStringCellValue().getString();
break;
case Cell.CELL_TYPE_NUMERIC:
if (DateUtil.isCellDateFormatted(cell)) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
k = sdf.format(cell.getDateCellValue());
} else {
k = Integer.toString((int) cell.getNumericCellValue());
}
break;
case Cell.CELL_TYPE_BOOLEAN:
k = Boolean.toString(cell.getBooleanCellValue());
break;
case Cell.CELL_TYPE_FORMULA:
k = cell.getCellFormula();
break;
default:
k = "";
}
if ((k != null) && (!"".equals(k))) {
lineMap.put(String.valueOf((i)), k); // 賦值。
} else {
lineMap.put(String.valueOf((i)), ""); // 賦值。
}
}
return lineMap;
}