java 解析复杂excel,怎样用java向excel中写数据:java读取复杂excel

怎样用java向excel中写数据

public void export(List li, String dateString,String[] title) throws WriteException, IOException {

// 准置excel工作表的标题

// 创Excel工作薄

WritableWorkbook wwb = null;

try {

// 输出的excel的路径

String filePath1 = Const.pathStr Const.pathStr4 Const.pathStr3;

File file = new File(filePath1);

if(!file.exists()){

file.mkdir();

}

String filePath=filePath1 Const.pathStr4 Const.pathStr6 dateString Const.pathStr5;

// 立一个jxl文件,即在C生成testJXL.xls

OutputStream os = new FileOutputStream(filePath);

wwb = Workbook.createWorkbook(os);

// 添加第一个工作表并设置第一个Sheet的名字

WritableSheet sheet = wwb.createSheet("设备清单", 0);

Label label;

for (int i = 0; i < title.length; i ) {

// Label(x,y,z) 代表单元格的第x 1列,第y 1行, 内容z

// 在Label对象的子对象中指明单元格的位置和内容

label = new Label(i, 0, title[i]);

// 将定义好的单元格添加到工作表中

sheet.addCell(label);

}

for (int i = 0; i < li.size(); i ) {

int j = 0;

j = i 1;

//填充单元格

//获取区域名称

label = new Label(0, j, li.get(i).getQyName());

sheet.addCell(label);

//获取区域名称

label = new Label(1, j, li.get(i).getJzName());

sheet.addCell(label);

//获取设备名称

label = new Label(2, j, li.get(i).getLnodeName());

sheet.addCell(label);

// //获取设备类型名称

label = new Label(3, j, li.get(i).getSbxh());

sheet.addCell(label);

//获取运行状态

label = new Label(4, j, li.get(i).getYxzh());

sheet.addCell(label);

//获取删除状态

label = new Label(5, j, li.get(i).getDeleteFlag());

sheet.addCell(label);

//获取启用状态

label = new Label(6, j, li.get(i).getQyzt());

sheet.addCell(label);

//获取设备投运日期

label = new Label(7, j, li.get(i).getSbtyri());

sheet.addCell(label);

//获取使用年限

jxl.write.Number numb1 = new jxl.write.Number(8, j, li.get(i).getSynx());

sheet.addCell(numb1);

//获取区域名称

label = new Label(9, j, li.get(i).getAddUser());

sheet.addCell(label);

//获取区域名称

label = new Label(10, j, li.get(i).getUpdUser());

sheet.addCell(label);

//获取区域名称

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");

String newdate = sdf.format(li.get(i).getUpdTime());

label = new Label(11, j, newdate);

sheet.addCell(label);

//获取区域名称

SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");

String newdate2 = sdf2.format(li.get(i).getAddTime());

label = new Label(12, j, newdate2);

sheet.addCell(label);

//获取区域名称

label = new Label(13, j, li.get(i).getZcbh());

sheet.addCell(label);

//获取区域名称

label = new Label(14, j, li.get(i).getSbcs());

sheet.addCell(label);

//获取区域名称

jxl.write.Number numb2 = new jxl.write.Number(15, j, li.get(i)

.getSbll());

sheet.addCell(numb2);

//获取区域名称

label = new Label(16, j, li.get(i).getRldw());

sheet.addCell(label);

//获取区域名称

label = new Label(17, j, li.get(i).getWxghjl());

sheet.addCell(label);

}

// 写入数据

wwb.write();

} catch (Exception e) {

e.printStackTrace();

}finally{

// 关闭文件

wwb.close();

}

}

Const文件:

/**路径:C盘*/

public static String pathStr = "C:";

/**路径://*/

public static String pathStr2 = "//";

/**文件夹:workspace*/

public static String pathStr3 = "exportFile";

/**文件名:world*/

public static String pathStr6 = "Equipment";

/**路径:/*/

public static String pathStr4 = "/";

/**路径:.xls*/

public static String pathStr5 = ".xls";

Java里面怎么调用excel表格中的x行第y列的数据,将其赋值到int型变量i

InputStream inp = new FileInputStream("workbook.xls");

//InputStream inp = new FileInputStream("workbook.xlsx");

Workbook wb = WorkbookFactory.create(inp);

Sheet sheet = wb.getSheetAt(0);

Row r = sheet.getRow(x);

Cell c = r.getCell(y);

int value = c.getNumericCellValue();

如何用JAVA读取EXCEL文件里面的数据

poi能你的问题

import java.io.BufferedReader;

import java.io.File;

import java.io.FileReader;

import java.io.IOException;

import static java.lang.System.out;

public class FileTest {

/**

* @param args

* @throws IOException

*/

public static void main(String[] args) throws IOException {

String string = "";

File file = new File("c:" File.separator "xxx.xls");

FileReader fr = new FileReader(file);

BufferedReader br = new BufferedReader(fr);

String str;

while((str = br.readLine()) != null) {

string = str;

}

out.println(string);

}

}

在java中可以调用excel函数库吗

虽然理论上可以,其实很不好弄。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值