java製作excel(java製作遊戲)

本文目錄一覽:

java能做出excel表格嗎

如果是要做類似excel的軟件,java中可以使用Swing或SWT,比如永中Office就是java寫的;

如果你要用java做excel的文件(*.xls或*.xlsx),可用POI或JXL,POI支持excel03和excel07格式,JXL適合處理大數據表,但只支持excel03;

如何利用JAVA生成Excel文件

package beans.excel;

import java.io.IOException;

import java.io.OutputStream;

import jxl.Workbook;

import jxl.write.Label;

import jxl.write.WritableSheet;

import jxl.write.WritableWorkbook;

import jxl.write.WriteException;

public class SimpleExcelWrite {

public void createExcel(OutputStream os) throws WriteException,IOException{

//創建工作薄

WritableWorkbook workbook = Workbook.createWorkbook(os);

//創建新的一頁

WritableSheet sheet = workbook.createSheet(“First Sheet”,0);

//創建要顯示的內容,創建一個單元格,第一個參數為列坐標,第二個參數為行坐標,第三個參數為內容

Label xuexiao = new Label(0,0,”學校”);

sheet.addCell(xuexiao);

Label zhuanye = new Label(1,0,”專業”);

sheet.addCell(zhuanye);

Label jingzhengli = new Label(2,0,”專業競爭力”);

sheet.addCell(jingzhengli);

Label qinghua = new Label(0,1,”清華大學”);

sheet.addCell(qinghua);

Label jisuanji = new Label(1,1,”計算機專業”);

sheet.addCell(jisuanji);

Label gao = new Label(2,1,”高”);

sheet.addCell(gao);

Label beida = new Label(0,2,”北京大學”);

sheet.addCell(beida);

Label falv = new Label(1,2,”法律專業”);

sheet.addCell(falv);

Label zhong = new Label(2,2,”中”);

sheet.addCell(zhong);

Label ligong = new Label(0,3,”北京理工大學”);

sheet.addCell(ligong);

Label hangkong = new Label(1,3,”航空專業”);

sheet.addCell(hangkong);

Label di = new Label(2,3,”低”);

sheet.addCell(di);

//把創建的內容寫入到輸出流中,並關閉輸出流

workbook.write();

workbook.close();

os.close();

}

}

如何用java代碼將數據庫中的數據生成excel表

java 讀excel 還是比較方便簡單的,原理就是,先用java 讀取excel,然後,一行行的寫入數據庫,字段的話,你自己程序裡面寫就行了,給你個例子:

從Excel讀取數據,生成新的Excel,以及修改Excel

package common.util;

import jxl.*;

import jxl.format.UnderlineStyle;

import jxl.write.*;

import jxl.write.Number;

import jxl.write.Boolean;

import java.io.*;

/**

* Created by IntelliJ IDEA.

* User: xl

* Date: 2005-7-17

* Time: 9:33:22

* To change this template use File | Settings | File Templates.

*/

public class ExcelHandle

{

public ExcelHandle()

{

}

/**

* 讀取Excel

*

* @param filePath

*/

public static void readExcel(String filePath)

{

try

{

InputStream is = new FileInputStream(filePath);

Workbook rwb = Workbook.getWorkbook(is);

//Sheet st = rwb.getSheet(“0”)這裡有兩種方法獲取sheet表,1為名字,而為下標,從0開始

Sheet st = rwb.getSheet(“original”);

Cell c00 = st.getCell(0,0);

//通用的獲取cell值的方式,返回字符串

String strc00 = c00.getContents();

//獲得cell具體類型值的方式

if(c00.getType() == CellType.LABEL)

{

LabelCell labelc00 = (LabelCell)c00;

strc00 = labelc00.getString();

}

//輸出

System.out.println(strc00);

//關閉

rwb.close();

}

catch(Exception e)

{

e.printStackTrace();

}

}

/**

* 輸出Excel

*

* @param os

*/

public static void writeExcel(OutputStream os)

{

try

{

/**

* 只能通過API提供的工廠方法來創建Workbook,而不能使用WritableWorkbook的構造函數,

* 因為類WritableWorkbook的構造函數為protected類型

* method(1)直接從目標文件中讀取WritableWorkbook wwb = Workbook.createWorkbook(new File(targetfile));

* method(2)如下實例所示 將WritableWorkbook直接寫入到輸出流

*/

WritableWorkbook wwb = Workbook.createWorkbook(os);

//創建Excel工作表 指定名稱和位置

WritableSheet ws = wwb.createSheet(“Test Sheet 1”,0);

//**************往工作表中添加數據*****************

//1.添加Label對象

Label label = new Label(0,0,”this is a label test”);

ws.addCell(label);

//添加帶有字型Formatting對象

WritableFont wf = new WritableFont(WritableFont.TIMES,18,WritableFont.BOLD,true);

WritableCellFormat wcf = new WritableCellFormat(wf);

Label labelcf = new Label(1,0,”this is a label test”,wcf);

ws.addCell(labelcf);

//添加帶有字體顏色的Formatting對象

WritableFont wfc = new WritableFont(WritableFont.ARIAL,10,WritableFont.NO_BOLD,false,

UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.RED);

WritableCellFormat wcfFC = new WritableCellFormat(wfc);

Label labelCF = new Label(1,0,”This is a Label Cell”,wcfFC);

ws.addCell(labelCF);

//2.添加Number對象

Number labelN = new Number(0,1,3.1415926);

ws.addCell(labelN);

//添加帶有formatting的Number對象

NumberFormat nf = new NumberFormat(“#.##”);

WritableCellFormat wcfN = new WritableCellFormat(nf);

Number labelNF = new jxl.write.Number(1,1,3.1415926,wcfN);

ws.addCell(labelNF);

//3.添加Boolean對象

Boolean labelB = new jxl.write.Boolean(0,2,false);

ws.addCell(labelB);

//4.添加DateTime對象

jxl.write.DateTime labelDT = new jxl.write.DateTime(0,3,new java.util.Date());

ws.addCell(labelDT);

//添加帶有formatting的DateFormat對象

DateFormat df = new DateFormat(“dd MM yyyy hh:mm:ss”);

WritableCellFormat wcfDF = new WritableCellFormat(df);

DateTime labelDTF = new DateTime(1,3,new java.util.Date(),wcfDF);

ws.addCell(labelDTF);

//添加圖片對象,jxl只支持png格式圖片

File image = new File(“f:\\2.png”);

WritableImage wimage = new WritableImage(0,1,2,2,image);

ws.addImage(wimage);

//寫入工作表

wwb.write();

wwb.close();

}

catch(Exception e)

{

e.printStackTrace();

}

}

/**

* 拷貝後,進行修改,其中file1為被copy對象,file2為修改後創建的對象

* 盡單元格原有的格式化修飾是不能去掉的,我們還是可以將新的單元格修飾加上去,

* 以使單元格的內容以不同的形式表現

* @param file1

* @param file2

*/

public static void modifyExcel(File file1,File file2)

{

try

{

Workbook rwb = Workbook.getWorkbook(file1);

WritableWorkbook wwb = Workbook.createWorkbook(file2,rwb);//copy

WritableSheet ws = wwb.getSheet(0);

WritableCell wc = ws.getWritableCell(0,0);

//判斷單元格的類型,做出相應的轉換

if(wc.getType == CellType.LABEL)

{

Label label = (Label)wc;

label.setString(“The value has been modified”);

}

wwb.write();

wwb.close();

rwb.close();

}

catch(Exception e)

{

e.printStackTrace();

}

}

//測試

public static void main(String[] args)

{

try

{

//讀Excel

ExcelHandle.readExcel(“f:/testRead.xls”);

//輸出Excel

File fileWrite = new File(“f:/testWrite.xls”);

fileWrite.createNewFile();

OutputStream os = new FileOutputStream(fileWrite);

ExcelHandle.writeExcel(os);

//修改Excel

ExcelHandle.modifyExcel(new file(“”),new File(“”));

}

catch(Exception e)

{

e.printStackTrace();

}

}

}

2.在jsp中做相關測試,創建一個writeExcel.jsp

%

response.reset();//清除Buffer

response.setContentType(“application/vnd.ms-excel”);

File fileWrite = new File(“f:/testWrite.xls”);

fileWrite.createNewFile();

new FileOutputStream(fileWrite);

ExcelHandle.writeExcel(new FileOutputStream(fileWrite));

%

在IE中瀏覽writeExcel.jsp就可以動態生成Excel文檔了,其中response.setContentType(“application/vnd.ms- excel”);語句必須要,才能確保不亂碼,在jsp中輸入%@page contentType=”application/vnd.ms- excel;charset=GBK”%不行。

利用java怎麼實現生成報表(Excel文件)

JAVA POI 組件//創建HSSFWorkbook對象

HSSFWorkbook wb = new HSSFWorkbook();

//創建HSSFSheet對象

HSSFSheet sheet = wb.createSheet(“sheet0”);

//創建HSSFRow對象

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

//創建HSSFCell對象

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

//用來處理中文問題

cell.setEncoding(HSSFCell.ENCODING_UTF_16);

//設置單元格的值

cell.setCellValue(“單元格中的中文”);

//定義你需要的輸出流

OutputStream out = new FileOutputStream(“viwo.xls”);

//輸出Excel

原創文章,作者:簡單一點,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/127322.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
簡單一點的頭像簡單一點
上一篇 2024-10-03 23:13
下一篇 2024-10-03 23:15

相關推薦

  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • 為什麼不用Python開發遊戲

    Python是一種高級編程語言,擁有簡單易學、代碼簡潔等優點。同時,Python也是一種多用途的語言,可以用於Web開發、數據分析以及機器學習等領域。然而,對於遊戲開發領域,Pyt…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • VSCode為什麼無法運行Java

    解答:VSCode無法運行Java是因為默認情況下,VSCode並沒有集成Java運行環境,需要手動添加Java運行環境或安裝相關插件才能實現Java代碼的編寫、調試和運行。 一、…

    編程 2025-04-29
  • Java任務下發回滾系統的設計與實現

    本文將介紹一個Java任務下發回滾系統的設計與實現。該系統可以用於執行複雜的任務,包括可回滾的任務,及時恢復任務失敗前的狀態。系統使用Java語言進行開發,可以支持多種類型的任務。…

    編程 2025-04-29

發表回復

登錄後才能評論