㈠ 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」命令,它能自動以修復方式打開受損文件。
㈡ 我想用java來讀取Excel文件的某行某列,就是指定讀取某個位置的數據,然後顯示出來!怎麼弄求
工念慧作中用到的導入excel一個方法,你還可以通過一些插件導入,代碼要你自己了,基蘆高辯本原理如下...
public Object importDoucument(MultipartFile uploadfile)
{
StringBuffer resultMessage = new StringBuffer();
ExcelImport excelImport = new ExcelImport();
Sheet sheet = null;
try
{
// 驗證文件格式 如不出錯 返回工作簿
excelImport.verifyExeclFile(uploadfile);
ExcelBean excelBean = excelImport.getExcelBean();
if (null != excelBean)
{
sheet = excelBean.getSheet();
}
//導入excel文件分析整理出list對象
List<StcCoreElements> dataList = getAssessCateRange(sheet, "戰略要素名稱", "戰略要素名稱"陪缺, 2, 1);
int num = 0;
if(dataList.size()>0){
for (StcCoreElements itemStcVO : dataList)
{
StcCoreElements stcCoreElementsVo = nitemStcVO
//*****修改些處
this.save(stcCoreElementsVo);
++num;
}
}
resultMessage.append("已成功導入 "+num+" 條核心要素信息");
}
catch (Exception e)
{
resultMessage.append(e.getMessage());
e.printStackTrace();
}
finally
{
excelImport.close();
}
return resultMessage;
}
private List<StcCoreElements> getAssessCateRange(Sheet sheet, String startName, String endName, int rowNum, int titleRowNum)
{
int[] cateRange = new int[2];
List<StcCoreElements> dataList = new ArrayList<StcCoreElements>();
int lastRowNumber = sheet.getLastRowNum();
Row cateRow = sheet.getRow(rowNum - 1);
Cell cateCell = cateRow.getCell(0);
String cateCellValue = ImportExcelUtil.getCellValue(cateCell, sheet);
if (StringUtils.isNotBlank(cateCellValue))
{
if (StringUtils.startsWith(cateCellValue, startName))
{
cateRange[0] = rowNum + titleRowNum;
}
}
String currentCellValue0 = "";
do
{
Row currentRow = sheet.getRow(rowNum);
StcCoreElements info =new StcCoreElements();
Cell currentCell0 = currentRow.getCell(0);
currentCellValue0 = ImportExcelUtil.getCellValue(currentCell0, sheet);
info.setOverallPlan(currentCellValue0);
dataList.add(info);
rowNum++;
} while (rowNum <= lastRowNumber);
return dataList;
}
㈢ java怎樣輸出excel文件
//java生成簡單的Excel文件
packagebeans.excel;
importjava.io.IOException;
importjava.io.OutputStream;
importjxl.Workbook;
importjxl.write.Label;
importjxl.write.WritableSheet;
importjxl.write.WritableWorkbook;
importjxl.write.WriteException;
publicclassSimpleExcelWrite{
publicvoidcreateExcel(OutputStreamos)throwsWriteException,IOException{
//創建工作薄
WritableWorkbookworkbook=Workbook.createWorkbook(os);
//創建新的一頁
WritableSheetsheet=workbook.createSheet("FirstSheet",0);
//創建要顯示的內容,創建一個單元格,第一個參數為列坐標,第二個參數為行坐標,第三個參數為內容
Labelxuexiao=newLabel(0,0,"學校");
sheet.addCell(xuexiao);
Labelzhuanye=newLabel(1,0,"專業");
sheet.addCell(zhuanye);
Labeljingzhengli=newLabel(2,0,"專業競爭力");
sheet.addCell(jingzhengli);
Labelqinghua=newLabel(0,1,"清華大學");
sheet.addCell(qinghua);
Labeljisuanji=newLabel(1,1,"計算機專業");
sheet.addCell(jisuanji);
Labelgao=newLabel(2,1,"高");
sheet.addCell(gao);
Labelbeida=newLabel(0,2,"北京大學");
sheet.addCell(beida);
Labelfalv=newLabel(1,2,"法律專業");
sheet.addCell(falv);
Labelzhong=newLabel(2,2,"中");
sheet.addCell(zhong);
Labelligong=newLabel(0,3,"北京理工大學");
sheet.addCell(ligong);
Labelhangkong=newLabel(1,3,"航空專業");
sheet.addCell(hangkong);
Labeldi=newLabel(2,3,"低");
sheet.addCell(di);
//把創建的內容寫入到輸出流中,並關閉輸出流
workbook.write();
workbook.close();
os.close();
}
}
㈣ Java中如何讀取excel文件內容並且將內容以表格的形式顯示在窗體里
這個設計的內容如下:
PoI技術,將表格數據解析存儲到資料庫
數據顯示,jqGrid這些專業的圖表數據顯示插件可以完成,當然也可以在JSP頁面用普通的<table>標簽實現