javaxls,javaxlsx批量轉pdf

本文目錄一覽:

java excel 解析 什麼開源工具好?

推薦使用poi,這是用的最多的,導入導出都非常方便。

JAVA 使用POI製作表格,而且都是開源的。POI是Apace公司開發的,對中文的支持比較弱一些;而JExcelAPI是韓國公司開發的,不僅對中文的支持好,而且由於是純JAVA編寫的,所以可以跨平台操作。

HSSFCell cell = row.createCell((short) 0);

//設置此單元格的格式為文本,此句可以省略,Excel會自動識別。

//其他還有幾種常用的格式,請參考本文底部的補充部分。

cell.setCellType(HSSFCell.CELL_TYPE_STRING);

//此處是3.0.1版的改進之處,上一版可以直接setCellValue(“Hello, World!”),

//但是在3.0.1里,被deprecated了。

cell.setCellValue(new HSSFRichTextString(“Hello, World!”));

//創建一個文件輸出流,指定到C盤根目錄下(C盤都有吧?)

//xls是Excel97-2003的標準擴展名,2007是xlsx,目前的POI能直接生產的還是xls格式,

//如果此處把擴展名改成xlsx,在用Excel2007打開此文件時會報錯。

小技巧,快捷操作:可以用鼠標左鍵選中poi-3.0.1-FINAL-20070705.jar但不鬆開,拖到任務欄的Eclipse圖標上等候1秒左右,Eclipse會自動彈起來,依然不鬆開移動到lib文件夾上,這個時候鼠標後面跟個十字符號,鬆開左鍵,就完成了複製動作。這個是對整個windows系統都好用的快捷複製方式,視源盤符和目標盤符的不同偶爾會用到Ctrl鍵。

怎樣在java中導出xls文件

通過這個例子,演示以下如何用java生成excel文件:

import org.apache.poi.hssf.usermodel.*;

import java.io.FileOutputStream;

import java.io.IOException;

publicclass CreateCells

{

publicstaticvoid main(String[] args)

throws IOException

{

HSSFWorkbook wb = new HSSFWorkbook();//建立新HSSFWorkbook對象

HSSFSheet sheet = wb.createSheet(“new sheet”);//建立新的sheet對象

// Create a row and put some cells in it. Rows are 0 based.

HSSFRow row = sheet.createRow((short)0);//建立新行

// Create a cell and put a value in it.

HSSFCell cell = row.createCell((short)0);//建立新cell

cell.setCellValue(1);//設置cell的整數類型的值

// Or do it on one line.

row.createCell((short)1).setCellValue(1.2);//設置cell浮點類型的值

row.createCell((short)2).setCellValue(“test”);//設置cell字符類型的值

row.createCell((short)3).setCellValue(true);//設置cell布爾類型的值

HSSFCellStyle cellStyle = wb.createCellStyle();//建立新的cell樣式

cellStyle.setDataFormat(HSSFDataFormat.getFormat(“m/d/yy h:mm”));//設置cell樣式為定製的日期格式

HSSFCell dCell =row.createCell((short)4);

dCell.setCellValue(new Date());//設置cell為日期類型的值

dCell.setCellStyle(cellStyle); //設置該cell日期的顯示格式

HSSFCell csCell =row.createCell((short)5);

csCell.setEncoding(HSSFCell.ENCODING_UTF_16);//設置cell編碼解決中文高位位元組截斷

csCell.setCellValue(“中文測試_Chinese Words Test”);//設置中西文結合字符串

row.createCell((short)6).setCellType(HSSFCell.CELL_TYPE_ERROR);//建立錯誤cell

// Write the output to a file

FileOutputStream fileOut = new FileOutputStream(“workbook.xls”);

wb.write(fileOut);

fileOut.close();

}

}

從以上例子,可以清楚的看到xls文件從大到小包擴了 HSSFWorkbook HSSFSheet HSSFRow HSSFCell這樣幾個對象。還可以在cell中設置各種類型的值。尤其要注意的是如果你想正確的顯示非歐美的字符時,尤其象中日韓這樣的語言,必須 設置編碼為16位的即是HSSFCell.ENCODING_UTF_16,才能保證字符的高8位不被截斷而引起編碼失真形成亂碼。

其他測試可以通過參考examples包中的測試例子掌握poi的詳細用法,包括字體的設置,cell大小和低紋的設置等。需要注意的是POI是一 個仍然在完善中的公開代碼的項目,所以有些功能正在不斷的擴充。如HSSFSheet的getFooter() getHeader()和 setFooter(HSSFFooter hsf) setHeader(HSSFHeader hsh)是在POI1.7中才有的,而POI1.5中就沒有。運行測試熟悉代碼或者使用它做項目時請注意POI的版本。

另外需要注意的是HSSF也有它的對xls基於事件的解析。可以參考例程中的EventExample.java。它通過實現 HSSFListener完成從普通流認知Xls中包含的內容,在apache Cocoon中的 org.apache.cocoon.serialization.HSSFSerializer中用到了這個解析。因為Cocoon2 是基於事件的,所以POI為了提供快速的解析也提供了相應的事件。當然我們自己也可以實現這個事件接口。

因為POI還不是一個足夠成熟的項目,所以有必要做進一步的開發和測試。但是它已經為我們用純java操作ole2對象提供了可能,而且克服了ole對象調用的缺陷,提供了服務器端的Excel解決方案。

利用Java 創建和讀取Excel文檔

為了保證示例程序的運行,必須安裝Java 2 sdk1.4.0 和Jakarta POI,Jakarta POI的Web站點是:

示例1將演示如何利用Jakarta POI API 創建Excel 文檔。

示例1程序如下:

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFCell;

import java.io.FileOutputStream;

publicclass CreateXL {

/** Excel 文件要存放的位置,假定在D盤JTest目錄下*/

publicstatic String outputFile=”D:/JTest/ gongye.xls”;

publicstaticvoid main(String argv[])

{

try

{

// 創建新的Excel 工作簿

HSSFWorkbook workbook = new HSSFWorkbook();

// 在Excel工作簿中建一工作表,其名為缺省值

// 如要新建一名為”效益指標”的工作表,其語句為:

// HSSFSheet sheet = workbook.createSheet(“效益指標”);

HSSFSheet sheet = workbook.createSheet();

// 在索引0的位置創建行(最頂端的行)

HSSFRow row = sheet.createRow((short)0);

//在索引0的位置創建單元格(左上端)

HSSFCell cell = row.createCell((short) 0);

// 定義單元格為字符串類型

cell.setCellType(HSSFCell.CELL_TYPE_STRING);

// 在單元格中輸入一些內容

cell.setCellValue(“增加值”);

// 新建一輸出文件流

FileOutputStream fOut = new FileOutputStream(outputFile);

// 把相應的Excel 工作簿存盤

workbook.write(fOut);

fOut.flush();

// 操作結束,關閉文件

fOut.close();

System.out.println(“文件生成…”);

}catch(Exception e) {

System.out.println(“已運行 xlCreate() : ” + e );

}

}

}

這裡演示創建和設置字體和單元格的格式,然後再應用這些格式:

1、創建字體,設置其為紅色、粗體:

HSSFFont font = workbook.createFont();

font.setColor(HSSFFont.COLOR_RED);

font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);

2、創建格式

HSSFCellStyle cellStyle= workbook.createCellStyle();

cellStyle.setFont(font);

3、應用格式

HSSFCell cell = row.createCell((short) 0);

cell.setCellStyle(cellStyle);

cell.setCellType(HSSFCell.CELL_TYPE_STRING);

cell.setCellValue(“標題 “);

總之,如本篇文章所演示的一樣,Java程序員不必擔心Excel工作表中的數據了,利用Jakarta POI API, 就可以輕易的在程序中存取Excel文檔。

java怎麼把xls格式的文件另存為xlsx文件,不能直接改後綴名?

一般操作Excel有專業的工具庫來實現,操作時,會考慮同時兼容不同版本的excel,你這裡將xls轉為xlsx,就是版本之間轉換,可以參考以下代碼的轉換方法,方法還是比較簡單,直接將文件另存為就可以了:

import com.spire.xls.*;

public class ExcelConversion {

public static void main(String[] args) {

Workbook wb = new Workbook();

wb.loadFromFile(“test.xls”);

wb.saveToFile(“toXLSX.xlsx”);

}

}

這裡代碼編譯環境為IntelliJ IDEA,jdk是1.8.0版本,使用Excel庫free spire.xls.jar 3.9.1。

使用java生成excel功能實現

jsp頁面

發送請求地址 s p _createExcel do

public String createExcel() {  try {   HttpServletResponse response = ServletActionContext getResponse();   OutputStream os = response getOutputStream();   response reset();   response setContentType( application/msexcel;charset=gbk );  //設置響應格式

//設置響應頭 即報表頭   response setHeader( Content disposition attachment;filename= + new String( 業務受理量統計報表 getBytes() iso ) + xls );

HSSFWorkbook hwb = new HSSFWorkbook();   HSSFSheet sheet = hwb createSheet( new Sheet );   hwb setSheetName( 業務受理量統計 );

HSSFRow row = sheet createRow((short) );   sheet createFreezePane( );//設置第一行顯示內容   createCell(hwb row (short) 業務類型 );   createCell(hwb row (short) 操作名稱 );   createCell(hwb row (short) 數量 );   createCell(hwb row (short) 收取金額 );   createCell(hwb row (short) 工號 );

//busBeans列表 為要顯示的數據

for (int i = ; i = busBeans size(); i++) {    HSSFRow row = sheet createRow((short) i);    for (int j = ; j ; j++) {     if (j == ) {      createCell(hwb row (short) j busBeans get(i ) getStatName());     } else if (j == ) {      createCell(hwb row (short) j busBeans get(i ) getFunName());     } else if (j == ) {      createCell(hwb row (short) j busBeans get(i ) getCountNum());     } else if (j == ) {      createCell(hwb row (short) j busBeans get(i ) getMoney());     } else if (j == ) {      createCell(hwb row (short) j busBeans get(i ) getLoginNo());     }    }   hwb write(os);   os close();   return createSuccess ;  } catch (Throwable e) {   e printStackTrace();   this forwardError(e getMessage());  }  return fail ; }

lishixinzhi/Article/program/Java/hx/201311/26089

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/279275.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-20 15:03
下一篇 2024-12-20 15:03

相關推薦

  • Python基礎教程第三版PDF下載

    熟練掌握Python編程語言可以讓你輕鬆地用代碼解決很多問題,Python基礎教程第三版是一本適合初學者的Python教程。本文將從幾個方面詳細介紹Python基礎教程第三版PDF…

    編程 2025-04-29
  • 使用Spire.PDF進行PDF文檔處理

    Spire.PDF是一款C#的PDF庫,它可以幫助開發者快速、簡便地處理PDF文檔。本篇文章將會介紹Spire.PDF庫的一些基本用法和常見功能。 一、PDF文檔創建 創建PDF文…

    編程 2025-04-29
  • Python零基礎PDF下載

    本文將為大家介紹如何使用Python下載PDF文件,適合初學者上手實踐。 一、安裝必要的庫 在Python中,我們需要使用urllib和requests庫來獲取PDF文件的鏈接,並…

    編程 2025-04-29
  • 智能風控 Python金融風險PDF

    在金融交易領域,風險控制是一項重要任務。智能風控是指通過人工智能技術和算法模型,對金融交易進行風險識別、風險預警、風險控制等操作。Python是一種流行的編程語言,具有方便、易用、…

    編程 2025-04-29
  • Python編程與數據分析應用PDF

    Python編程是一門功能強大的編程語言,其易讀易寫、可擴展性強等優點使得它在各個領域都有着廣泛的應用。而數據分析也是當今各行各業的基本需求,Python語言通過優秀的數據分析庫也…

    編程 2025-04-28
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • 文本數據挖掘與Python應用PDF

    本文將介紹如何使用Python進行文本數據挖掘,並將着重介紹如何應用PDF文件進行數據挖掘。 一、Python與文本數據挖掘 Python是一種高級編程語言,具有簡單易學、代碼可讀…

    編程 2025-04-28
  • Java批量執行SQL時Communications Link Failure Socket is Closed問題解決辦法

    對於Java開發人員來說,批量執行SQL是一個經常會遇到的問題。但是,有時候我們會遇到「Communications link failure socket is closed」這…

    編程 2025-04-28
  • Python生成PDF文檔

    Python是一門廣泛使用的高級編程語言,它可以應用於各種領域,包括Web開發、數據分析、人工智能等。在這些領域的應用中,有很多需要生成PDF文檔的需求。Python有很多第三方庫…

    編程 2025-04-28
  • 使用Python為PDF添加書籤

    Python是一種強大靈活的編程語言,它支持大量的庫和模塊,其中就包括pdf模塊。使用Python處理PDF文件可以有效地提高處理效率和減輕工作量。其中,添加書籤是PDF處理的常見…

    編程 2025-04-28

發表回復

登錄後才能評論