kristenlee1218 2016-02-23 11:24 采纳率: 61.3%
浏览 2253

java遍历服务器里的所有excel文件读取特定单元格的值,循环读取文件的代码怎么写

package com.excel.action;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import jxl.Cell;
import jxl.CellType;
import jxl.LabelCell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.write.Label;

public class ExcelOperater

{
public static void main(String[] args)

{
    jxl.Workbook readwb = null;

    try

    {

        // 构建Workbook对象, 只读Workbook对象

        // 直接从本地文件创建Workbook

        InputStream instream = new FileInputStream(
                "F:/tomcat7/webapps/Excel/upload/1.xls");

        readwb = Workbook.getWorkbook(instream);

        // Sheet的下标是从0开始

        // 获取第一张Sheet表

        Sheet readsheet = readwb.getSheet(0);

        // 获得第一行第一列单元的值

        Cell c00 = readsheet.getCell(2, 2);

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

        String strc00 = c00.getContents();

        System.out.println("-----------------");

        System.out.println(c00.getContents());

        System.out.println("------------------");

        // 获得cell具体类型值的方式

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

        {

            LabelCell labelc00 = (LabelCell) c00;

            strc00 = labelc00.getString();

        }

        // 获取Sheet表中所包含的总列数

        int rsColumns = readsheet.getColumns();

        // 获取Sheet表中所包含的总行数

        int rsRows = readsheet.getRows();

        // 获取指定单元格的对象引用

        for (int i = 0; i < rsRows; i++)

        {

            for (int j = 0; j < rsColumns; j++)

            {

                Cell cell = readsheet.getCell(j, i);

                System.out.print(cell.getContents() + " ");

            }

            System.out.println();

        }

        // 利用已经创建的Excel工作薄,创建新的可写入的Excel工作薄

        jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File(

        "F:/tomcat7/webapps/Excel/upload/11.xls"), readwb);

        // 读取第一张工作表

        jxl.write.WritableSheet ws = wwb.createSheet("第一页", 0);

        // 获得特定单元格的对象

        Label label = new Label(0, 0, c00.getContents());

        System.out.println("label value:" + label.getContents());

        ws.addCell(label);

        /*
         * //读取excel中的全部内容写入到新的excel中 //读取第一张工作表
         * 
         * jxl.write.WritableSheet ws = wwb.getSheet(0);
         * 
         * //获得第一个单元格对象
         * 
         * jxl.write.WritableCell wc = ws.getWritableCell(0, 0);
         */

        // 写入Excel对象

        wwb.write();

        wwb.close();

    } catch (Exception e) {

        e.printStackTrace();

    } finally {

        readwb.close();

    }

}

}

  • 写回答

2条回答

  • Royal_lr 2016-02-24 02:48
    关注
    • jxl.write.WritableCell wc = ws.getWritableCell(0, 0);不就是这样的吗,,
    评论

报告相同问题?

悬赏问题

  • ¥15 用三极管设计一个单管共射放大电路
  • ¥20 fluent无法启动
  • ¥15 孟德尔随机化r语言运行问题
  • ¥15 pyinstaller编译的时候出现No module named 'imp'
  • ¥15 nirs_kit中打码怎么看(打码文件是csv格式)
  • ¥15 怎么把多于硬盘空间放到根目录下
  • ¥15 Matlab问题解答有两个问题
  • ¥15 LCD12864中文显示
  • ¥15 在使用CH341SER.EXE时不小心把所有驱动文件删除了怎么解决
  • ¥15 gsoap生成onvif框架