java excel jxl-小白求帮助 jxl实现excel的修改

问题描述

小白求帮助 jxl实现excel的修改

实现一个方法,判断表1中 A列第一行的值是否为X,若是则将B列同行的值赋值到表2中C列第一行
依次往下循环
下面是我的思路,求大神帮忙看看如何实现
package com.excelchange;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

import jxl.CellType;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.WritableCell;
import jxl.write.WritableSheet;

public class ExcelChange {
//workbook=sheet[];sheet=cell[][];
Workbook wb=null;
Sheet sheet=null;

public Sheet input(String sourcepath,int page) throws BiffException, FileNotFoundException, IOException{
    //读取excel到workbook类对象;page=0是第一页
    Workbook wb=Workbook.getWorkbook(new FileInputStream(sourcepath));
    Sheet st=wb.getSheet(page);
    return sheet;
}

public void output(String targetpath,int page,int type) throws BiffException, FileNotFoundException, IOException{
    Workbook wb=Workbook.getWorkbook(new FileInputStream(targetpath));
    Sheet st=wb.getSheet(page);
    //输出excel
    //case
    switch(type)
    {
    case 1:
    wb.setCell(st,x,y);
    break;

/*  case 2:语句2;
    default:语句;
    */

    }
    wb.write();
    wb.close();
}

public int type(Sheet sheet){
    //判断表格类型
    int type=0;
    String c=getCell(sheet,2,3,0);
    //用case判断
    switch(c)
    {
    case "3602013619200130631":type=1;
    break;
    case "123": type =2;
    break;
    }
    return type;
}

public String getCell(Sheet sheet,int x,int y,int page){
    //获取指定单元格内容
    Sheet st=wb.getSheet(page); //获取第一个sheet
    WritableCell cell =((WritableSheet) sheet).getWritableCell(x, y);//获取第一个单元格
    String a=cell.toString();
    return a;
}

public void setCell(Sheet sheet,int x,int y){
    //设置指定单元格内容
    Sheet st=wb.getSheet(0);
    WritableSheet sheet1 = (WritableSheet) wb.getSheet(0);
    WritableCell cell1 = sheet1.getWritableCell(x,y);
    Label l = (Label) cell1;
    l.setString(getCell(st,x,y,0));
}

}

解决方案

jxl 修改excel

解决方案二:

http://blog.csdn.net/wugouzi/article/details/12951381

时间: 2024-10-15 05:39:23

java excel jxl-小白求帮助 jxl实现excel的修改的相关文章

java小白求大神帮看一下为什么会发生数组越界。代码如下:

问题描述 java小白求大神帮看一下为什么会发生数组越界.代码如下: package arraytest; public class ArrayTestSort { public static void main(String[] args) { int i,j=0; int[] arr = new int[]{100,40,60,87,34,11,56,0}; int temp = 0; for(i = 0;i<arr.length;i++){ for(j = 0;j<arr.length-

小白求:java web 异常 处理问题详解

问题描述 小白求:java web 异常 处理问题详解 java web 项目在Dao层产生的异常 提示是在servlce层里面调用时 报nullpoint异常 导致在action层无法正常跳转 我现在 应在在那个层去处理这样的异常 若不再action层的话 我应该怎么操作 小白求大牛告知,感激不敬! 解决方案 先写放测试方法测试service层写的方法有没有对吧,那些要的数据能不能传进去,我个人觉得可能是service的方法有误 解决方案二: 在每一层打个断点,看看是哪里出错了. 解决方案三:

jxl中怎么设置导出的excel表格加密或者设置表格内容隐藏不可读

问题描述 jxl中怎么设置导出的excel表格加密或者设置表格内容隐藏不可读 jxl中怎么设置导出的excel表格加密或者设置表格内容隐藏不可读 解决方案 得到Sheet对象后,调用其getSettings() 方法会返回一个SheetSettings对象.而SheetSettings对象有一个setPassword(String s)方法可以用来设置密码.

构造方法 数组-小白求大神解惑!! JAVA带参数构造函数与数组

问题描述 小白求大神解惑!! JAVA带参数构造函数与数组 public class TextInsert { private Object[] ins; private int size; public TextInsert(int size){ ins=new Object[size]; } public static void main(String[] args){ TextInsert list=new TextInsert(2); 我想请问下,这里的list 跟 ins 有什么关系,

关于java问题-小白求大神指点if语句里变量问题?

问题描述 小白求大神指点if语句里变量问题? i++和++i储存的位置在哪?栈.堆? 解决方案 这是一个无聊的问题参考 http://www.guokr.com/blog/471312/ 解决方案二: 跟存储在哪没有关系,这是存储在栈中的.i++是后缀表达式,就是先取出i的值然后再对 i 进行加1,而++i是前缀表达式,即先将i的值加1在使用. 解决方案三: 首先,i作为普通基础类型的变量,是存在栈中的. 解决方案四: switch语句中在case块里声明变量会遇到提示"Expected exp

怎么将java程序中产生的数据保存为Excel文件

问题描述 怎么将java程序中产生的数据保存为Excel文件 在我的项目中其中产生了一些很重要的数据需要保存下来.在图像中的到的一些矩形框, 已知道矩形框的左上角坐标(x1,y1),右下角坐标(x2,y2):我想把这坐标的四个数据保存到Excel表中.第一列保存第几个矩形框,第2-5列保存相应的四个点的位置. 求java实现的代码.求大神!! 解决方案 你这就是一个excel存储 用jxl或者Poi操作 下面这个有图说明.http://www.cnblogs.com/mingforyou/arc

局域网-jsp遇到问题 小白求帮助

问题描述 jsp遇到问题 小白求帮助 自己电脑上上传图片没问题 局域网中的其他客户端上传图片 报错 java.io.FileNotFoundException(系统找不到指定的路径.) 解决方案 这个建议你在自己电脑上测试时不要用你一开始就设定好的图片路径,比如你现在保存在D盘,你换一个E盘中的图片试试 解决方案二: 自己顶一下 在线等..... 解决方案三: 是不是你把保存路径在局域网上没有,比如自己放的路径是D:AA没有而局域网上没有AA这样的文件夹 解决方案四: 这个建议你在自己电脑上测试

参数设置-串口校验设置,很简单的,小白求解惑

问题描述 串口校验设置,很简单的,小白求解惑 serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_SPACE); // 设置串口参数 JAVA+RS232+comm.jar环境 就是这一句:怎样写这个设置串口的代码, 才能在发送数据时使用SerialPort.PARITY_MARK校验 在接收数据时使用SerialPort.PARITY_SPACE

新建servlet,在浏览器输出,可是换行显示不了,小白求支招

问题描述 新建servlet,在浏览器输出,可是换行显示不了,小白求支招 public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.getWriter().print(request.getScheme()+"<br/>");//获取请求协议 response.getWriter().p