java導入導出
㈠ 如何將Eclipse中編寫的java項目導出
1.導入項目
當下載了包含Eclipse 項目的源代碼文件後,我們可以把它導入到當前的Eclipse 工作區然後編輯和查看。點擊菜單File > Import,然後在彈出的Import 對話框中展開General目錄,選擇Existing Projects into Workspace,接著點擊Next 按鈕。當選中單選鈕Select root directory:時可以點擊Browse…按鈕選中包含項目的文件夾,如果包含項目的話就可以在中間的Projects 列表框中顯示;而當選中單選鈕Select archive file:時可以點擊Browse…按鈕選中包含項目的ZIP 壓縮包,如果包含項目的話就可以在中間的Projects列表框中顯示。最後點擊Finish 按鈕就可以導入項目並打開了。
2.導出項目
點擊菜單File > Export,然後在彈出的Export 對話框中展開General 目錄,選擇Archive File,接著點擊Next 按鈕。然後在To archive file:輸出框中選中要保存的文件名,一般寫成項目名.zip,然後點擊Finish 按鈕即可導出當前項目。還有一種方式是手工打包,用WinRAR 或者WinZIP 等工具都可以。
㈡ java開發怎麼導入導出excel裡面信息內容
publicclassExcelExport{
/**
*默認每個sheet頁最多顯示的行數
*/
privatestaticfinalintsheet_rows=50000;
/**
*導出Excel文件
*
*@paramtitleList
*表頭信息
*@paramdataList
*表格數據
*@paramfileName
*導出文件完整名稱demo.xls
*@paramrequest
*@paramresponse
*@throwsIOException
*/
(List<String>titleList,
List<List<String>>dataList,StringfileName,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsIOException{
HSSFWorkbookworkBook=exportDataToExcel(titleList,dataList);
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setCharacterEncoding("UTF-8");
fileName=encodeFilename(fileName,request);
response.setHeader("Content-disposition","attachment;filename="+fileName);
workBook.write(response.getOutputStream());
response.getOutputStream().flush();
response.getOutputStream().close();
}
(Stringfilename,HttpServletRequestrequest){
Stringagent=request.getHeader("USER-AGENT");
try{
if((agent!=null)&&(0<=agent.indexOf("Firefox"))){
returnMimeUtility.encodeText(filename,"UTF-8","B");
}elseif((agent!=null)&&(0<=agent.indexOf("Chrome"))){
returnfilename=newString(filename.getBytes(),"ISO8859-1");
}
else{
if(agent!=null){
StringnewFileName=URLEncoder.encode(filename,"UTF-8");
newFileName=StringUtils.replace(newFileName,"+","%20");
if(newFileName.length()>150){
newFileName=newString(filename.getBytes("GB2312"),
"ISO8859-1");
newFileName=StringUtils.replace(newFileName,"",
"%20");
}
returnnewFileName;
}
}
}catch(Exceptionex){
returnfilename;
}
returnfilename;
}
(List<String>titleList,List<List<String>>dataList){
/*1.創建一個Excel文件*/
HSSFWorkbookworkbook=newHSSFWorkbook();
/*2.創建Excel的一個Sheet*/
HSSFSheetsheet=workbook.createSheet();
/*3.創建表頭凍結*/
sheet.createFreezePane(0,1);
/*4.設置列寬*/
for(inti=0;i<titleList.size();i++){
sheet.setColumnWidth(i,5000);
}
/*5.表頭字體*/
HSSFFontheadfont=workbook.createFont();
headfont.setFontName("宋體");
headfont.setFontHeightInPoints((short)12);//字體大小
headfont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//加粗
/*6.表頭樣式*/
HSSFCellStyleheadstyle=workbook.createCellStyle();
headstyle.setFont(headfont);
headstyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//左右居中
//設置背景色為藍色
headstyle.setFillForegroundColor(HSSFColor.LIGHT_BLUE.index);
headstyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
/*7.普通單元格字體*/
HSSFFontfont=workbook.createFont();
font.setFontName("宋體");
font.setFontHeightInPoints((short)12);
/*8.普通單元格樣式*/
HSSFCellStylestyle=workbook.createCellStyle();
style.setFont(font);
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);//左右居中
/*9.拼裝表頭*/
Iterator<String>titleRowIterator=titleList.iterator();
intcolumnIndex=0;
HSSFRowrow=sheet.createRow(0);
while(titleRowIterator.hasNext()){
StringcellValue=titleRowIterator.next();
HSSFCellcell=row.createCell(columnIndex);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue(cellValue);
cell.setCellStyle(headstyle);
columnIndex++;
cell=null;
}
/*10.組織表數據*/
Iterator<List<String>>rowIterator=dataList.iterator();
introwIndex=1;
while(rowIterator.hasNext()){
List<String>columnList=rowIterator.next();
row=sheet.createRow(rowIndex);
Iterator<String>columnIterator=columnList.iterator();
columnIndex=0;
while(columnIterator.hasNext()){
StringcellValue=columnIterator.next();
HSSFCellcell=row.createCell(columnIndex);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue(cellValue);
cell.setCellStyle(style);
cell=null;
columnIndex++;
}
row=null;
rowIndex++;
}
returnworkbook;
}
/**
*重載導出數據到Excel中
*@paramtitleList表頭
*@paramdataList表數據
*@paramamount每個sheet頁顯示行數
*@return
*/
(List<String>titleList,List<List<String>>dataList,intamount){
/*1.創建一個Excel文件*/
HSSFWorkbookworkbook=newHSSFWorkbook();
//校驗傳入的參數
if(titleList==null){
titleList=newArrayList<String>();
}
//無數據直接返回
if(dataList==null||dataList.size()==0){
returnworkbook;
}
//傳入數據不正確,按照默認條數顯示
if(amount>65535||amount<=0){
amount=sheet_rows;
}
//獲取sheet頁的數量
introw_num=0;
inty=dataList.size()%amount;
if(y==0){
row_num=dataList.size()/amount;
}else{
row_num=dataList.size()/amount+1;
}
/*表頭字體*/
HSSFFontheadfont=workbook.createFont();
headfont.setFontName("宋體");
headfont.setFontHeightInPoints((short)12);//字體大小
headfont.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//加粗
/*表頭樣式*/
HSSFCellStyleheadstyle=workbook.createCellStyle();
headstyle.setFont(headfont);
headstyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//左右居中
//設置背景色為藍色
headstyle.setFillForegroundColor(HSSFColor.LIGHT_BLUE.index);
headstyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
/*普通單元格字體*/
HSSFFontfont=workbook.createFont();
font.setFontName("宋體");
font.setFontHeightInPoints((short)12);
/*普通單元格樣式*/
HSSFCellStylestyle=workbook.createCellStyle();
style.setFont(font);
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);//左右居中
//循環寫入每個sheet頁
for(inti=0;i<row_num;i++){
/*創建Excel的一個Sheet*/
HSSFSheetsheet=workbook.createSheet();
/*創建表頭凍結*/
sheet.createFreezePane(0,1);
/*設置列寬*/
for(intt=0;t<titleList.size();t++){
sheet.setColumnWidth(t,5000);
}
/*拼裝表頭*/
Iterator<String>titleRowIterator=titleList.iterator();
intcolumnIndex=0;
HSSFRowrow=sheet.createRow(0);
while(titleRowIterator.hasNext()){
StringcellValue=titleRowIterator.next();
HSSFCellcell=row.createCell(columnIndex);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue(cellValue);
cell.setCellStyle(headstyle);
columnIndex++;
cell=null;
}
/*組織表數據*/
introwIndex=1;
for(intj=amount*i;(j<amount*(i+1)&&j<dataList.size());j++){
List<String>columnList=dataList.get(j);
row=sheet.createRow(rowIndex);
Iterator<String>columnIterator=columnList.iterator();
columnIndex=0;
while(columnIterator.hasNext()){
StringcellValue=columnIterator.next();
HSSFCellcell=row.createCell(columnIndex);
cell.setCellType(HSSFCell.CELL_TYPE_STRING);
cell.setCellValue(cellValue);
cell.setCellStyle(style);
cell=null;
columnIndex++;
}
row=null;
rowIndex++;
}
}
returnworkbook;
}
/**
*重載導出Excel功能,新增一項amount每個sheet導出記錄行數
*@paramtitleList
*@paramdataList
*@paramfileName
*@paramamount行數如果小於等於0或大於65535則按照默認顯示
*@paramrequest
*@paramresponse
*@throwsIOException
*/
(List<String>titleList,
List<List<String>>dataList,StringfileName,intamount,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsIOException{
HSSFWorkbookworkBook=exportDataToExcel(titleList,dataList,amount);
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
response.setCharacterEncoding("UTF-8");
fileName=encodeFilename(fileName,request);
response.setHeader("Content-disposition","attachment;filename="+fileName);
workBook.write(response.getOutputStream());
response.getOutputStream().flush();
response.getOutputStream().close();
}
}
說明:main方法里的第一個參數為要導出的表頭信息,
第二個參數為數據信息,
第三個參數設置文件名,設置好以後直接調用就可以導出Excle了;
導入就是把文件存到伺服器,可用Mogodb等資料庫存儲,以下是讀取已存根據存儲的文件id解析Excle數據的大致過程:
POIFSFileSystemfs=null;
if(!StringUtils.isBlank(fileId)){
fs=newPOIFSFileSystem(newByteArrayInputStream(
//傳入對應的文件對象
MongoFileUtil.readFile(fileId)));
}
//構造XSSFWorkbook對象,filePath傳入文件路徑
HSSFWorkbookxwb=newHSSFWorkbook(fs);
//讀取第一個sheet
HSSFSheetsheet=xwb.getSheetAt(0);
for(inti=sheet.getFirstRowNum()+1;i<sheet.getPhysicalNumberOfRows();i++){
//解析每行的數據
HSSFRowsingleRow=sheet.getRow(i);
//解析每個單元格數據
singleRow.getCell(0).setCellType(Cell.CELL_TYPE_STRING);
StringcellValue=singleRow.getCell(0).getStringCellValue();
}
㈢ java導出ppt太慢
1、你的ppt是否起用了宏或者插入了大量的圖片文件等? 沒有
2、是否是所有的ppt文件都這樣,還是個別的?如果全這樣你的硬碟是否可能不正常。 就那個文件
3、內存和虛擬內存是否足夠? 足夠
重新啟動計算機還是很慢
㈣ 如何用java實現mysql資料庫的導入導出
MySql導出資料庫的命令如下:
Sql代碼
mysqlmp -uusername -ppassword -hhost -Pport exportDatabaseName > exportPath
mysqlmp -uusername -ppassword -hhost -Pport exportDatabaseName > exportPath
利用Java調用命令窗口執行命令來進行MySql導入資料庫一般分三步走:
第一步:登錄Mysql資料庫,在登錄資料庫的時候也可以指定登錄到哪個資料庫,如果指定了則可以跳過第二步;
第二步:切換資料庫到需要導入的目標資料庫
第三步:利用命令開始導入
在進行導出的時候,需要注意命令語句的運行環境,如果已經將mysql安裝路徑下的bin加入到
系統的path變數中,那麼在導出的時候可以直接使用命令語句,否則,就需要在執行命令語句的
時候加上命令所在位置的路徑,即mysql安裝路徑想的bin下的mysqlmp命令。
㈤ java文件導出報錯後進入新頁面怎麼辦
java文件導出報錯後進入新頁面。
1、在新導入的java項目上點擊右鍵,選擇Properties屬性信息。
2、進入屬性界面之後,點擊項目配置信息ProjectFacets。
3、更改java版本.選擇適合這個項目的java版本信息,選擇java,在右側選擇相應的javaversion。
4、點擊保存設置。點擊下面的Apply應用,集成工具就開始對導入的項目重新進行編譯。
㈥ Spring Boot - 集成 EasyExcel 實現數據導入導出功能
Book.java
數據導出功能具體實現代碼如下:
數據導出功能實現比較簡單,只需要指定輸出流、導出模型對象、sheet名稱、導出數據就可以了。
測試:在瀏覽器地址欄輸入localhost:8001/book/export會直接彈出保存文件的對話框,文件名為:書籍.xlsx。
數據導入需要如下3個前提條件:
ImportListener.java
ExcelImporter.java
數據導入功能具體實現代碼如下:
㈦ java使用什麼技術實現excel數據的批量導入導出
java使用第三方工具包POI技術實現excel數據的批量導入導出。
舉例如下:
1、下載apache的相關jar包。poi-ooxml-3.6.jar xmlbeans-2.3.0.jar等,如圖:
2、編寫相關的讀寫類
/**
* 讀取xls文件內容
*/
private
List<XlsDto> readXls() throws
IOException {
InputStream is = new
FileInputStream("test.xls");
HSSFWorkbook hssfWorkbook = new
HSSFWorkbook(is);
XlsDto xlsDto = null;
List<XlsDto> list = new
ArrayList<XlsDto>();
// 循環工作表Sheet
for
(int numSheet = 0; numSheet < hssfWorkbook.getNumberOfSheets(); numSheet++) {
HSSFSheet hssfSheet = hssfWorkbook.getSheetAt(numSheet);
if
(hssfSheet == null) {
continue;
}
// 循環行Row
for
(int rowNum = 1; rowNum <= hssfSheet.getLastRowNum(); rowNum++) {
HSSFRow hssfRow = hssfSheet.getRow(rowNum);
if
(hssfRow == null) {
continue;
}
xlsDto = new
XlsDto();
// 循環列Cell
// 0學號 1姓名 2學院 3課程名 4 成績
// for (int cellNum = 0; cellNum <=4; cellNum++) {
HSSFCell xh = hssfRow.getCell(0);
if
(xh == null) {
continue;
}
xlsDto.setXh(getValue(xh));
HSSFCell xm = hssfRow.getCell(1);
if
(xm == null) {
continue;
}
xlsDto.setXm(getValue(xm));
HSSFCell yxsmc = hssfRow.getCell(2);
if
(yxsmc == null) {
continue;
}
xlsDto.setYxsmc(getValue(yxsmc));
HSSFCell kcm = hssfRow.getCell(3);
if
(kcm == null) {
continue;
}
xlsDto.setKcm(getValue(kcm));
HSSFCell cj = hssfRow.getCell(4);
if
(cj == null) {
continue;
}
xlsDto.setCj(Float.parseFloat(getValue(cj)));
list.add(xlsDto);
}
}
return
list;
}
3、導出就是輸入到一個新的excel文件裡面
public void writeXls(List<Student> list, String path) throws Exception {
if (list == null) {原始數據為空,直接返回
return;
}
int countColumnNum = list.size();//設置列數
HSSFWorkbook book = new HSSFWorkbook(); //創建工作表對象
HSSFSheet sheet = book.createSheet("studentSheet");
// 創建第一行
HSSFRow firstRow = sheet.createRow(0);
HSSFCell[] firstCells = new HSSFCell[countColumnNum];
//創建表頭
String[] options = { "no", "name", "age", "score" };
//循環數據域
for (int j = 0; j < options.length; j++) {
firstCells[j] = firstRow.createCell(j);
firstCells[j].setCellValue(new HSSFRichTextString(options[j]));
}
//處理每一個cell的值
for (int i = 0; i < countColumnNum; i++) {
HSSFRow row = sheet.createRow(i + 1);
Student student = list.get(i);
for (int column = 0; column < options.length; column++) {
HSSFCell no = row.createCell(0);
HSSFCell name = row.createCell(1);
HSSFCell age = row.createCell(2);
HSSFCell score = row.createCell(3);
no.setCellValue(student.getNo());
name.setCellValue(student.getName());
age.setCellValue(student.getAge());
score.setCellValue(student.getScore());
}
}
File file = new File(path);
OutputStream os = new FileOutputStream(file);
System.out.println(Common.WRITE_DATA + path);
book.write(os);
os.close();
}
㈧ 如何用java實現mysql資料庫的導入導出
要使用CMD命令窗口首先的將MYSQL環境變數設置到操作系統中,這是第一步,
導出MYSQL數據的命令如下:
mysqlmp -u root [-p password] database [table] > x.sql
注:root的登錄資料庫的用戶名;database為使用到的資料庫;table為表名;x.sql為導出的sql腳本
這樣導出為一個SQL腳本文件,裡麵包括所有的建表語句與數據插入語句,
而數據導入也差不多,給傳入一個SQL腳本,語句如下:
source d:/mysql.sql;
㈨ 如何用java完成Excel快速的導入導出
導出
現在我們定義好對象了,如何導出Excel --ExcelExportUtil 這個導出工具類
public void testExportExcel_1() throws Exception {
ExportParams params = new ExportParams("0328課程表", "日期:2016-03-28", "六年一班");
Workbook workbook = ExcelExportUtil.exportExcel(params, CourseEntity.class,courseList);
FileOutputStream fos = new FileOutputStream("D:/excel/0328課程表.xls");
workbook.write(fos);
fos.close();
}
我們只要把我們定義好的對象的class傳進去,以及對象的集合,Easypoi就可以返回一個Excel的workbook了,同時Easypoi是兼容03版本office和07版本office,你要穿個參數指定下類型及可以了,是不是不是比我們自己寫代碼簡單多了,最少只需要2行代碼就可以完成我們的office操作了
導入
我們把導出寫完了,導入是不是很復雜呢,也不是,導入也是同樣簡單,定時實體和上面定義的方式一樣
導入是用導入工具類
ImportParams params = new ImportParams();
params.setHeadRows(2);
List<CourseEntity> list = ExcelImportUtil.importExcel(inputStream, CourseEntity.class, params);
定義下表頭的參數,然後把流傳入進去就可以得到我們的對象列表是不是so easy.趕快來使用吧