導航:首頁 > 編程語言 > java向excel寫數據

java向excel寫數據

發布時間:2024-01-17 02:20:23

① 怎麼用java將一個excel裡面數據讀出並寫入另一個excel求助

使用jxl這個包
導入這個包下的
import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
然後
File f = new File("d:/view.xls");//獲得文件
WritableWorkbook wb = Workbook.createWorkbook(f);//可以讀寫的workbook
WritableSheet s = wb.createSheet("第一頁", 0);//workbook中的sheet,就是在excel下面那個sheet1,sheet2.這個方法表名使用第一個sheet並且命名為"第一頁"
Label lable = null;//label就是某鄭備一個小單元格
2層循環,給每個label
label = new Label(列,行,值);//都是從0開始的.就是給第幾列地幾行的labe里寫東西
s.addCell(l);//把這個lable加入到sheet中

最後
wb.write();
wb.close();
讀的也差不橘衫多.

網路一下圓叢腔jxl,到處都是例子的哇
望採納

② java代碼如何將一個jtable表單中的數據導入到excel表中

將jtable的數據按行讀入到ArrayList裡面然後按照下面的方法處理
try {
Object[] Columns1 = {"會員編號", "姓名", "聯系地址", "電話", "手機", "郵編", "總積分"};
//打開文件
WritableWorkbook book = Workbook.createWorkbook(new File("d:\\CustomerInfo.xls"));
//生成名為「第一頁」的工作表,參數0表示這是第一頁
WritableSheet sheet = book.createSheet("客戶資料", 0);
sheet.addCell(new Label(0, 0, "會員編號"));
sheet.addCell(new Label(1, 0, "姓名"));
sheet.addCell(new Label(2, 0, "聯系地址"));
sheet.addCell(new Label(3, 0, "電話"));
sheet.addCell(new Label(4, 0, "手機"));
sheet.addCell(new Label(5, 0, "郵編"));
sheet.addCell(new Label(6, 0, "會員總積分"));

for (int i = 0; i < list.size(); i++) {
Object[] obj = (Object[]) list.get(i);
for (int j = 0; j < Columns1.length; j++) {
if (j == 0) {
sheet.addCell(new Label(0, i + 1, obj[0].toString()));
} else if (j == 1) {
sheet.addCell(new Label(1, i + 1, obj[1].toString()));
} else if (j == 2) {
sheet.addCell(new Label(2, i + 1, obj[4].toString()));
} else if (j == 3) {
sheet.addCell(new Label(3, i + 1, obj[2].toString()));
} else if (j == 4) {
sheet.addCell(new Label(4, i + 1, obj[3].toString()));
} else if (j == 5) {
sheet.addCell(new Label(5, i + 1, obj[5].toString()));
} else if (j == 6) {
sheet.addCell(new Label(6, i + 1, obj[9].toString()));
}
}
}
/*生成一個保存數字的單元格
必須使用Number的完整包路徑,否則有語法歧義
單元格位置是第二列,第一行,值為789.123*/
// jxl.write.Number numb = new jxl.write.Number(1, 0, 789.123);
// sheet.addCell(numb);
//寫入數據並關閉文件
book.write();
book.close();
GV.MyMSG.myMsg(1, null, "會員資料已導出到文件d:\\CustomerInfo.xls中!~");
// ReleaseManager rm = new ReleaseManager();
// ExcelApplication excel = new ExcelApplication(rm);
// ExcelWorkbooks xlBooks = excel.Workbooks();
// ExcelWorkbook xlBook = xlBooks.Open(outputFile);
// ExcelWorksheet xlSheet = excel.ActiveSheet();
// xlSheet.PrintOut();
// xlBook.Close(false, outputFile, false);
// excel.Quit();
} catch (Exception e) {
System.out.println(e);
}

③ java jxl 大量數據寫入excel,比如上千萬條

考慮輸出到多個excel文件吧
文件過大,很容易撐爆內存
另 jxl 僅僅對2003的支持較好,單個sheet只能寫入65536個格子

④ 如何用Java導出數據存到excel裡面

java中jxl導出數據到excel的例子
import jxl.*;
import jxl.write.*;
import java.io.*;
import java.io.File.*;
import java.util.*;

public class excel
{
public static void main(String[] args)
{

String targetfile = "c:/out.xls";//輸出的excel文件名
String worksheet = "List";//輸出的excel文件工作表名
String[] title = {"ID","NAME","DESCRIB"};//excel工作表的標題

WritableWorkbook workbook;
try
{
//創建可寫入的工作薄,運行生成的文件在tomcat/bin下
//workbook = Workbook.createWorkbook(new File("output.xls"));
System.out.println("begin");

OutputStream os=new FileOutputStream(targetfile);
workbook=Workbook.createWorkbook(os);

WritableSheet sheet = workbook.createSheet(worksheet, 0); //添加第一個工作表
//WritableSheet sheet1 = workbook.createSheet("MySheet1", 1); //可添加第二個工作
/*
jxl.write.Label label = new jxl.write.Label(0, 2, "A label record"); //put a label in cell A3, Label(column,row)
sheet.addCell(label);
*/

jxl.write.Label label;
for (int i=0; i<title.length; i++)
{
//Label(列號,行號 ,內容 )
label = new jxl.write.Label(i, 0, title[i]); //put the title in row1
sheet.addCell(label);
}

//下列添加的對字體等的設置均調試通過,可作參考用

//添加數字
jxl.write.Number number = new jxl.write.Number(3, 4, 3.14159); //put the number 3.14159 in cell D5
sheet.addCell(number);

//添加帶有字型Formatting的對象
jxl.write.WritableFont wf = new jxl.write.WritableFont(WritableFont.TIMES,10,WritableFont.BOLD,true);
jxl.write.WritableCellFormat wcfF = new jxl.write.WritableCellFormat(wf);
jxl.write.Label labelCF = new jxl.write.Label(4,4,"文本",wcfF);
sheet.addCell(labelCF);

//添加帶有字體顏色,帶背景顏色 Formatting的對象
jxl.write.WritableFont wfc = new jxl.write.WritableFont(WritableFont.ARIAL,10,WritableFont.BOLD,false,jxl.format.UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.RED);
jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(wfc);
wcfFC.setBackground(jxl.format.Colour.BLUE);
jxl.write.Label labelCFC = new jxl.write.Label(1,5,"帶顏色",wcfFC);
sheet.addCell(labelCFC);

//添加帶有formatting的Number對象
jxl.write.NumberFormat nf = new jxl.write.NumberFormat("#.##");
jxl.write.WritableCellFormat wcfN = new jxl.write.WritableCellFormat(nf);
jxl.write.Number labelNF = new jxl.write.Number(1,1,3.1415926,wcfN);
sheet.addCell(labelNF);

//3.添加Boolean對象
jxl.write.Boolean labelB = new jxl.write.Boolean(0,2,false);
sheet.addCell(labelB);

//4.添加DateTime對象
jxl.write.DateTime labelDT = new jxl.write.DateTime(0,3,new java.util.Date());
sheet.addCell(labelDT);

//添加帶有formatting的DateFormat對象
jxl.write.DateFormat df = new jxl.write.DateFormat("ddMMyyyyhh:mm:ss");
jxl.write.WritableCellFormat wcfDF = new jxl.write.WritableCellFormat(df);
jxl.write.DateTime labelDTF = new jxl.write.DateTime(1,3,new java.util.Date(),wcfDF);
sheet.addCell(labelDTF);

//和賓單元格
//sheet.mergeCells(int col1,int row1,int col2,int row2);//左上角到右下角
sheet.mergeCells(4,5,8,10);//左上角到右下角
wfc = new jxl.write.WritableFont(WritableFont.ARIAL,40,WritableFont.BOLD,false,jxl.format.UnderlineStyle.NO_UNDERLINE,jxl.format.Colour.GREEN);
jxl.write.WritableCellFormat wchB = new jxl.write.WritableCellFormat(wfc);
wchB.setAlignment(jxl.format.Alignment.CENTRE);
labelCFC = new jxl.write.Label(4,5,"單元合並",wchB);
sheet.addCell(labelCFC); //

//設置邊框
jxl.write.WritableCellFormat wcsB = new jxl.write.WritableCellFormat();
wcsB.setBorder(jxl.format.Border.ALL,jxl.format.BorderLineStyle.THICK);
labelCFC = new jxl.write.Label(0,6,"邊框設置",wcsB);
sheet.addCell(labelCFC);
workbook.write();
workbook.close();
}catch(Exception e)
{
e.printStackTrace();
}
System.out.println("end");
Runtime r=Runtime.getRuntime();
Process p=null;
//String cmd[]={"notepad","exec.java"};
String cmd[]={"C:\\Program Files\\Microsoft Office\\Office\\EXCEL.EXE","out.xls"};
try{
p=r.exec(cmd);
}
catch(Exception e){
System.out.println("error executing: "+cmd[0]);
}

}
}

⑤ 淺談JAVA讀寫Excel的幾種途徑

讀寫Excel文件需要使用Excel類庫,如Free Spire.XLS for Java.

讀取Excel內容:

//創建Workbook對象
Workbookwb=newWorkbook();
//載入一個Excel文檔
wb.loadFromFile("C:\Users\Administrator\Desktop\test.xlsx");
//獲取第一個工作表
Worksheetsheet=wb.getWorksheets().get(0);
//遍歷工作表的每一行
for(inti=1;i<sheet.getLastRow()+1;i++){
//遍歷工作的每一列
for(intj=1;j<sheet.getLastColumn()+1;j++){
//輸出指定單元格的數據
System.out.print(sheet.get(i,j).getText());
System.out.print(" ");
}
System.out.print(" ");
}

寫入內容:

//創建Workbook對象
Workbookwb=newWorkbook();
//載入一個Excel文檔
wb.loadFromFile("C:\Users\Administrator\Desktop\test.xlsx");
//獲取第一個工作表
Worksheetsheet=wb.getWorksheets().get(0);
//在單元格A1寫入新數據
sheet.getCellRange("A1").setText("你好");
//保存文檔
wb.saveToFile("寫入Excel.xlsx",ExcelVersion.Version2016);

⑥ java 將頁面內容寫入excel文件中並可以將其下載到本地任意位置

java本身襲要生成excel文件必然是在後台做的,通過poi庫生成excel文件並製作表格。
無法直接通過網頁保存生成excel。
至於下載到本地任意位置,也是後台生成了excel文件發送到前台(瀏覽器),由用戶選擇要存在哪兒,不能直接存儲(這是web沙箱限制,不允許網頁直接訪問本地硬碟,不然你想想,如果你打開一個網頁,網頁代碼可以任意訪問你的硬碟,你還敢開網頁嗎)。
要繞過沙箱限制必須裝插件,也就是,你必須開發一個com或plugin插件,可以訪問本地硬碟,但這需要用戶手工安裝(比如flash的插件,你之所以能用網頁看flash是因為裝了它的插件,但這是你手工裝的,它不能繞過你直接給你裝,它必須詢問你行不行,你要手工點了OK,才能裝)

⑦ java中如何把數據導入到已有的Excel中,數據不覆蓋

原來的數據不被覆蓋這樣的例子倒是沒有做過。給你一個思路吧。
1、首先肯定要查到已有Excel的文件,根據路徑或者名稱查出。
2、讀取Excel文件,因為要知道是否已經存在數據,沒有數據的話那就直接導入。
3、如果有數據,HSSFSheet sheet,sheet.getPhysicalNumberOfRows(),可以拿到已經存在的行數,新導入的數據那就從這個基礎上添加,不至於將原來的覆蓋。
希望對你有所幫助。

閱讀全文

與java向excel寫數據相關的資料

熱點內容
mdfldf是什麼文件 瀏覽:569
文件在桌面怎麼刪除干凈 瀏覽:439
馬蘭士67cd機版本 瀏覽:542
javaweb爬蟲程序 瀏覽:537
word中千位分隔符 瀏覽:392
迷你編程七天任務的地圖怎麼過 瀏覽:844
word2003格式不對 瀏覽:86
百度雲怎麼編輯文件在哪裡 瀏覽:304
起名app數據哪裡來的 瀏覽:888
微信怎麼去泡妞 瀏覽:52
百度廣告html代碼 瀏覽:244
qq瀏覽器轉換完成後的文件在哪裡 瀏覽:623
jsp中的session 瀏覽:621
壓縮完了文件去哪裡找 瀏覽:380
武裝突襲3浩方聯機版本 瀏覽:674
網路機頂盒移動網路 瀏覽:391
iphone手機百度雲怎麼保存到qq 瀏覽:148
資料庫設計與實踐讀後感 瀏覽:112
js對象是什麼 瀏覽:744
網頁文件存pdf 瀏覽:567

友情鏈接