❶ 怎樣通過JSP頁面上傳個Excel文件,並實現java讀取EXCEL存入資料庫
1。通過jsp頁面接收上傳的excel文件到後台,
2,後台使用java連接資料庫
3.將excel文件通過io文件控制流讀入,然後使用jdbc寫入到資料庫
❷ 上傳Excel文件提示java.lang.
這個異常是 String 方法拋出,指示索引或者為負,或者超出字元串的大小
可能是處理程序在處理字元串過程中 截取字元串 或者 其他的問題..
不是你的程序? 如果是 你可以檢查下是不文件名或者內容截取的時候的地方是否有漏洞
❸ 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;
}
❹ JAVA Excel文件上傳,上傳後的Excel文件打開時報有不可讀取的內容,怎麼回事
這樣接收,當然不行了,,,,,,使用smartupload等接收上傳,或Struts接收上傳的文件
文件上傳,要瀏覽器端編碼的 <form action="UploadServlet" method="post" enctype="multipart/form-data">
❺ java web 怎麼導入excel文件
1.要正確的將Web客戶端的Excel文件導入到伺服器的資料庫中,需要將客戶端的Excel文件上傳到伺服器上。可以使用FileUpload控制項完成。2.Excel文件上傳到伺服器指定的目錄中,這里假設是該站點的upfiles目錄中。3.使用SQL語句從upfiles目錄中的上傳Excel文件中讀取數據顯示或寫入資料庫。
❻ (急)java上傳一個excel文件,同時上傳同目錄下的apk和圖片
大概 思路 :
public static void readExcel(String pathname, PrintWriter out) {
try {
//打開文件
Workbook book = Workbook.getWorkbook(new File(pathname)) ;
//取得第一個sheet
Sheet sheet = book.getSheet(0);
//取得行數
int rows = sheet.getRows();
for(int i = 0; i < rows; i++) {
Cell [] cell = sheet.getRow(i);
for(int j=0; j<cell.length; j++) {
//getCell(列,行)
//out.print(sheet.getCell(j, i).getContents());
//out.print("");
//同目錄下的apk和圖片
String apk_path="";
String image_path="";
File file = new File(pathname);
if (file.isDirectory()) {
File[] t = file.listFiles();//獲取目錄下面的所有圖片
for (int x = 0,len=t.length; x < len; x++)
{
if(t[i].isFile())
{
String filename=t[i].getName();//取出文件名
String index= filename.substring(filename.lastIndexOf("."),filename.length());
if(index=="apk")
{
apk_path="/../../"+filename;//具體路徑
}
if(index=="jgp"||(index=="gif"))
{
image_path+="/../../"+filename+"|";//具體路徑
}
}
}
}
image_path=image_path.substring(0,image_path.lastIndexOf("|"));
String sql="insert table x (id,image,apk)valus(?,?,?)";
.....
}
out.println("<br/>");
}
//關閉文件
book.close();
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
❼ java怎麼上傳excel文件
java操作Excel的一種方法:在開源世界中,有兩套比較有影響的API可供使用,一個是POI,一個是jExcelAPI。其中jExcelAPI是一個韓國程序員的作品,雖然沒有POI那樣血統高貴,但是在使用過程中,感覺簡單方便,對中文支持非常好,功能也比較強大。
❽ Java Excel上傳失敗,無日誌
1、JavaExcel文件的本身漏洞導致了它有信息泄露的風險,所以對JavaExcel文件的上傳做了一定的限制。
2、解決方法。進入管理系統、安全管理,關閉文件上傳校驗的按鈕。以上是JavaExcel上傳失敗,無日誌的原因和解決辦法。
❾ java 項目中,上傳的excel打開時無法正常打開,顯示亂碼 ,怎樣可以正常打開,
1、轉換格式法就是將受損的Excel XP工作簿另存格式選為SYLK。如果可以打開受損文件,只是不能進行各種編輯和列印操作,那麼建議首先嘗試這種方法。2、直接修復法最新版本的Excel XP在「打開」窗口的「打開」按鈕內有直接修復受損文件的「打開並修復」功能,這種方法適用於常規方法無法打開受損文件的情況。3、偷梁換柱法遇到無法打開受損的Excel XP文件時,也可以嘗試使用Word來打開它。操作如下:(1)運行Word程序,選擇需要打開的Excel文件;(2)如是首次運用Word程序打開Excel XP文件,可能會有「Microsoft Word無法導入指定的格式。這項功能目前尚未安裝,是否現在安裝?」的提示信息,此時可插入Microsoft Office安裝盤進行安裝;(3)按照Word程序的提示選擇修復整個工作簿還是某個工作表;(4)先將文件中被損壞的數據刪除,再將滑鼠移動到表格中,並在菜單欄中依次執行「表格→轉換→表格轉換成文字」命令,選擇製表符為文字分隔符,將表格內容轉為文本內容,然後另存為純文本格式文件;(5)運行Excel XP程序,打開剛保存的文本文件;(6)隨後根據「文本導入向導」的提示就能順利打開該文件了。
修復後的工作表與原工作表基本一樣,不同的是表格中所有的公式都需重新設置,還有部分文字、數字格式丟失了。4、自動修復法
此法適用於Excel XP程序運行出現故障關閉程序或斷電導致的文件受損。重新運行Excel XP,它會自動彈出「文檔恢復」窗口,並在該窗口中列出已自動恢復的所有文件。用滑鼠選擇要保留的文件,並單擊指定文件名旁的箭頭,根據需要選擇「打開」、「另存為」、「顯示修復」。
在預設狀態下Excel XP是不會啟用自動修復功能的,因此預先設置:首先在菜單欄中依次點擊「工具→選項」命令,在設置框中單擊「保存」標簽,將「禁用自動恢復」復選框取消,然後選中「保存自動恢復信息,每隔X分鍾」復選項,並輸入指定的間隔頻率,最後點擊「確定」完成設置。
如果還沒有自動彈出「文檔恢復」窗口,可以嘗試用手工的方法打開自動恢復的文件:依次執行「文件→打開」命令,利用「查找范圍」框定位並打開Excel XP保存自動恢復文件的文件夾,要是不知道那個文件夾的位置,可以查看「自動恢復文件保存位置」框中的路徑,接著在「文件類型」選擇對話框中,選中「所有文件(*.*)」選項,並選擇要恢復的文件,最後單擊「打開」按鈕,打開文件進行自動修復。5、工具修復法
如果上面的幾種方法都不能修復文件,還可以藉助專門用來修復受損Excel XP文件的「ExcelRecovery」。該軟體會自動將修復程序加到Excel軟體中,表現為在「文件」菜單下增添一項「Recovery」命令,它能自動以修復方式打開受損文件。