「java操作表」JAVA编程手册

博主:adminadmin 2022-11-24 21:49:07 46

本篇文章给大家谈谈java操作表,以及JAVA编程手册对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

JAVA 表格操作

我现在刚用的就是jxl的东西。不过,我里面的文件path没有弄好,设了个死的进去啦 package com.jin.comm.share; import java.io.File; import java.util.ArrayList;import jxl.Workbook; import jxl.write.Label; import jxl.write.WritableSheet; import jxl.write.WritableWorkbook; import com.jin.beans.CustomerInfor;public class ExportFile { public void expToXSL(ArrayList datalist, String path)throws Exception{ WritableWorkbook book = Workbook.createWorkbook(new File(path)); // 设置表名 WritableSheet sheet = book.createSheet("客户信息",0); // 生成表格题头 Label labe1 = new Label(0, 0, "编码" ); Label labe2 = new Label(1, 0, "旅行社简称"); Label labe3 = new Label(2, 0, "销售代表"); Label labe4 = new Label(3, 0, "客户级别"); Label labe5 = new Label(4, 0, "合作情况"); Label labe6 = new Label(5, 0, "类型"); Label labe7 = new Label(6, 0, "可信任值"); Label labe8 = new Label(7, 0, "开始合作日期" ); Label labe9 = new Label(8, 0, "终止合作日期"); Label labe10 = new Label(9, 0, "付款方式"); Label labe11 = new Label(10, 0, "旅行社全称"); Label labe12 = new Label(11, 0, "国家/地区"); Label labe13 = new Label(12, 0, "省/直辖市"); Label labe14 = new Label(13, 0, "城市"); Label labe15 = new Label(14, 0, "街道" ); Label labe16 = new Label(15, 0, "邮政编码"); Label labe17 = new Label(16, 0, "电话"); Label labe18 = new Label(17, 0, "传真"); Label labe19 = new Label(18, 0, "电子邮件"); Label labe20 = new Label(19, 0, "web页地址"); Label labe21 = new Label(20, 0, "开户银行"); Label labe22 = new Label(21, 0, "银行账号" ); Label labe23 = new Label(22, 0, "所属机构"); Label labe24 = new Label(23, 0, "所属部门"); Label labe25 = new Label(24, 0, "维护人"); Label labe26 = new Label(25, 0, "维护时间"); Label labe27 = new Label(26, 0, "备注"); //将生成的单元格添加到工作表中 sheet.addCell(labe1); sheet.addCell(labe2); sheet.addCell(labe3); sheet.addCell(labe4); sheet.addCell(labe5); sheet.addCell(labe6); sheet.addCell(labe7); sheet.addCell(labe8); sheet.addCell(labe9); sheet.addCell(labe10); sheet.addCell(labe11); sheet.addCell(labe12); sheet.addCell(labe13); sheet.addCell(labe14); sheet.addCell(labe15); sheet.addCell(labe16); sheet.addCell(labe17); sheet.addCell(labe18); sheet.addCell(labe19); sheet.addCell(labe20); sheet.addCell(labe21); sheet.addCell(labe22); sheet.addCell(labe23); sheet.addCell(labe24); sheet.addCell(labe25); sheet.addCell(labe26); sheet.addCell(labe27); for(int i=1; i=datalist.size(); i++){ CustomerInfor infor = (CustomerInfor)datalist.get(i-1); Label label1=new Label(0,i,infor.getCode()); Label label2=new Label(1,i,infor.getDepartment()); Label label3=new Label(2,i,infor.getSales()); Label label4=new Label(3,i,infor.getLevel()); Label label5=new Label(4,i,infor.getTecase()); Label label6=new Label(5,i,infor.getTetype()); Label label7=new Label(6,i,infor.getTrust()); Label label8=new Label(7,i,infor.getStarttime()==null ? null : infor.getStarttime().toString()); Label label9=new Label(8,i,infor.getEndtime()==null ? null : infor.getEndtime().toString()); Label label10=new Label(9,i,infor.getPaytype() ); Label label11=new Label(10,i,infor.getFullname() ); Label label12=new Label(11,i,infor.getCountry() ); Label label13=new Label(12,i,infor.getProvince() ); Label label14=new Label(13,i,infor.getLocality() ); Label label15=new Label(14,i,infor.getStreet() ); Label label16=new Label(15,i,infor.getPostal() ); Label label17=new Label(16,i,infor.getPhone() ); Label label18=new Label(17,i,infor.getFax() ); Label label19=new Label(18,i,infor.getEmail() ); Label label20=new Label(19,i,infor.getWebsite() ); Label label21=new Label(20,i,infor.getBankname() ); Label label22=new Label(21,i,infor.getBanknum() ); Label label23=new Label(22,i,infor.getInstitution() ); Label label24=new Label(23,i,infor.getIndepart() ); Label label25=new Label(24,i,infor.getKeepby() ); Label label26=new Label(25,i,infor.getKeepday()==null ? null :infor.getKeepday().toString()); Label label27=new Label(26,i,infor.getComment() ); //将生成的单元格添加到工作表中 sheet.addCell(label1); sheet.addCell(label2); sheet.addCell(label3); sheet.addCell(label4); sheet.addCell(label5); sheet.addCell(label6); sheet.addCell(label7); sheet.addCell(label8); sheet.addCell(label9); sheet.addCell(label10); sheet.addCell(label11); sheet.addCell(label12); sheet.addCell(label13); sheet.addCell(label14); sheet.addCell(label15); sheet.addCell(label16); sheet.addCell(label17); sheet.addCell(label18); sheet.addCell(label19); sheet.addCell(label20); sheet.addCell(label21); sheet.addCell(label22); sheet.addCell(label23); sheet.addCell(label24); sheet.addCell(label25); sheet.addCell(label26); sheet.addCell(label27); } book.write(); book.close(); }

有人用过java操作excel表格jxl吗就解答修改时出错

Java Excel 是一个开源项目,通过它Java开发人员可以读取Excel文件的内容、创建新的Excel文件、更新已经存在的Excel文件等,在项目中需要导入名为jxl.jar的包。在这里只是示例它的基本用法,其他高级的功能(图片、公式、格式等)请参考Java Excel的帮助文档。

如有一个用户资料的Excel表,包含ID、用户名、性别、邮件等信息,定义一个用户JavaBean:

package com.monitor1394.excel;

/**

*

* 用户

*

* @author monitor

* Created on 2010-12-22, 9:57:58

*/

public class User {

/** ID */

private int id;

/** 用户名 */

private String name;

/** 性别 1:男 2:女*/

private int sex;

/** 邮件 */

private String email;

public User(){

}

public User(int id,String name,int sex,String email){

this.id=id;

this.name=name;

this.sex=sex;

this.email=email;

}

public String getEmail() {

return email;

}

public void setEmail(String email) {

this.email = email;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public int getSex() {

return sex;

}

public void setSex(int sex) {

this.sex = sex;

}

@Override

public String toString(){

return id+":"+name;

}

}

提供的Excel表操作类如下,某些单元格的格式可按自己意愿指定:

package com.monitor1394.excel;

import java.io.File;

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;

import jxl.Sheet;

import jxl.Workbook;

import jxl.format.Alignment;

import jxl.format.Border;

import jxl.format.BorderLineStyle;

import jxl.format.Colour;

import jxl.format.VerticalAlignment;

import jxl.read.biff.BiffException;

import jxl.write.Label;

import jxl.write.Number;

import jxl.write.NumberFormats;

import jxl.write.WritableCellFormat;

import jxl.write.WritableFont;

import jxl.write.WritableSheet;

import jxl.write.WritableWorkbook;

import jxl.write.WriteException;

/**

*

* Excel表操作

*

* @author monitor

* Created on 2010-12-22, 9:50:28

*/

public class Excel {

/** 标题单元格格式 */

private static WritableCellFormat titleFormat=null;

/** 主题内容单元格格式 */

private static WritableCellFormat bodyFormat=null;

/** 注释单元格格式 */

private static WritableCellFormat noteFormat=null;

/** 浮点型数据的单元格格式 */

private static WritableCellFormat floatFormat=null;

/** 整型数据的单元格格式 */

private static WritableCellFormat intFormat=null;

/** 初始化数据 */

private static boolean init=false;

/** 私有构造方法,防止错误使用Excel类 */

private Excel(){

}

/**

* 初始化各单元格格式

* @throws WriteException 初始化失败

*/

private static void init() throws WriteException{

WritableFont font1,font2,font3,font4;

//Arial字体,9号,粗体,单元格黄色,田字边框,居中对齐

font1 = new WritableFont(WritableFont.ARIAL, 9, WritableFont.BOLD, false);

titleFormat = new WritableCellFormat (font1);

titleFormat.setBackground(Colour.YELLOW);

titleFormat.setBorder(Border.ALL, BorderLineStyle.THIN);

titleFormat.setAlignment(Alignment.CENTRE);

//Arial字体,9号,粗体,单元格黄色,田字边框,左右居中对齐,垂直居中对齐,自动换行

font2 = new WritableFont(WritableFont.ARIAL, 9, WritableFont.BOLD, false);

noteFormat = new WritableCellFormat (font2);

noteFormat.setBackground(Colour.YELLOW);

noteFormat.setBorder(Border.ALL, BorderLineStyle.THIN);

noteFormat.setAlignment(Alignment.CENTRE);

noteFormat.setVerticalAlignment(VerticalAlignment.CENTRE);

noteFormat.setWrap(true);

//Arial字体,9号,非粗体,单元格淡绿色,田字边框

font3 = new WritableFont(WritableFont.ARIAL, 9, WritableFont.NO_BOLD, false);

bodyFormat = new WritableCellFormat (font3);

bodyFormat.setBackground(Colour.LIGHT_GREEN);

bodyFormat.setBorder(Border.ALL, BorderLineStyle.THIN);

//Arial字体,9号,非粗体,单元格淡绿色,田字边框

font4 = new WritableFont(WritableFont.ARIAL, 9, WritableFont.NO_BOLD, false);

floatFormat = new WritableCellFormat (font4,NumberFormats.FLOAT);

floatFormat.setBackground(Colour.LIGHT_GREEN);

floatFormat.setBorder(Border.ALL, BorderLineStyle.THIN);

//Arial字体,9号,非粗体,单元格淡绿色,田字边框

font4 = new WritableFont(WritableFont.ARIAL, 9, WritableFont.NO_BOLD, false);

intFormat = new WritableCellFormat (font4,NumberFormats.INTEGER);

intFormat.setBackground(Colour.LIGHT_GREEN);

intFormat.setBorder(Border.ALL, BorderLineStyle.THIN);

init=true;

}

public static void createUserExcelFile(ListUser userList,File destFile) throws WriteException, IOException{

if(init==false) init();

int index,row;

WritableSheet sheet=null;

WritableWorkbook book=null;

book = Workbook.createWorkbook(destFile);

sheet = book.createSheet("用户表", 0);

sheet.setColumnView(0, 15);

sheet.setColumnView(1, 15);

sheet.setColumnView(2, 15);

sheet.setColumnView(3, 40);

//字段变量名

index=0;

sheet.addCell(new Label(index++,0,"id",titleFormat));

sheet.addCell(new Label(index++,0,"name",titleFormat));

sheet.addCell(new Label(index++,0,"sex",titleFormat));

sheet.addCell(new Label(index++,0,"email",titleFormat));

//字段名

index=0;

sheet.addCell(new Label(index++,1,"ID",titleFormat));

sheet.addCell(new Label(index++,1,"用户名",titleFormat));

sheet.addCell(new Label(index++,1,"性别",titleFormat));

sheet.addCell(new Label(index++,1,"邮件",titleFormat));

//字段注释

index=0;

sheet.addCell(new Label(index++,2,null,noteFormat));

sheet.addCell(new Label(index++,2,null,noteFormat));

sheet.addCell(new Label(index++,2,"1:男/n2:女",noteFormat));

sheet.addCell(new Label(index++,2,null,noteFormat));

row=3;

for(User user:userList){

if(user==null) continue;

index=0;

sheet.addCell(new Number(index++,row,user.getId(),bodyFormat));

sheet.addCell(new Label(index++,row,user.getName(),bodyFormat));

sheet.addCell(new Number(index++,row,user.getSex(),bodyFormat));

sheet.addCell(new Label(index++,row,user.getEmail(),bodyFormat));

row++;

}

book.write();

if(book!=null) book.close();

}

public static ListUser readUserExcelFile(File file) throws IOException, BiffException{

if(file==null) return null;

int row,column;

String temp=null;

Workbook book =null;

Sheet sheet=null;

ListUser userList=new ArrayListUser();

book = Workbook.getWorkbook(file);

sheet = book.getSheet(0);

row=3;

while(rowsheet.getRows()){

column=0;

User user=new User();

//id

temp=sheet.getCell(column++,row).getContents().trim();

if(temp!=null !temp.equals("") temp.matches("//d+")) user.setId(Integer.parseInt(temp));

else break;

//名称

temp=sheet.getCell(column++,row).getContents().trim();

if(temp!=null !temp.equals("")) user.setName(temp);

//性别

temp=sheet.getCell(column++,row).getContents().trim();

if(temp!=null !temp.equals("") temp.matches("//d+")) user.setSex(Integer.parseInt(temp));

//邮件

temp=sheet.getCell(column++,row).getContents().trim();

if(temp!=null !temp.equals("")) user.setEmail(temp);

userList.add(user);

row++;

}

if(book!=null) book.close();

return userList;

}

}

要导入的Excel表格式如下:

导出后的Excel表如下:

Java操作Excel表

自己下个poi的三方包,里面有读写excel的接口。

你的需求写得也不清晰,没看懂你要干啥,什么生成一个嵌套表。

JAVA 操作Excel表格时的一些问题

jxl操作excel的表格总是按单元格左上角所在的列与行操作的,也就是说,如果一个单元格合并了3列,它下一个紧接着的单元格列坐标就要加3.

当然,这两个单元格的列数之差也就是前一个单元格合并了多少列

假设你已经得到了一个Sheet,下面以第1行为例说明:

//取得第1行的所有单元格

Cell[] cells = sheet.getRow(1);

//遍历取得的所有单元格

for(int i = 0; i cells.length; i++)

{

Cell cell = cells[i];

//取得单元格左上角所在的行

int row = cell.getRow();

//取得单元格左上角所在的列

int column = cell.getColumn();

//把相邻的column相减就可以得知前一个合并了多少列,如果减的结果为1,前一个单元格就没有合并,同样的方法也可以取得合并了多少行

}

希望对你有所帮助

java JTable组件操作表

a=new Object[lastNumber][4];

int k=0;

rs.beforeFirst();

while(rs.next()){

a[k][0]=rs.getString(1);

a[k][1]=rs.getString(2);

a[k][2]=rs.getString(3);

a[k][3]=rs.getString(4);

k++;

}

越界了

关于java操作表和JAVA编程手册的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-24,除非注明,否则均为首码项目网原创文章,转载请注明出处。