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

问题描述

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();

    }

}

}

解决方案

  • jxl.write.WritableCell wc = ws.getWritableCell(0, 0);不就是这样的吗,,

解决方案二:

大概思路:

1.指定一个目录,进行遍历;
2.定义一个通用的读取excel的方法;
3.在目录中遍历,遇到excel格式文件就调用方法进行读取。
4.读取到的数据,可以暂时存到数据库,或者存在内存中(如果数据多,建议存数据库)。

时间: 2024-09-13 11:34:34

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

arraylist-急 在线等 谢谢!java想要读取excel中某以特定单元格的值,现在是循环读出所有的值,请帮忙修改一下

问题描述 急 在线等 谢谢!java想要读取excel中某以特定单元格的值,现在是循环读出所有的值,请帮忙修改一下 package com.excel.action; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java

excel中如何隐藏单元格的值为&quot;0&quot;的单元格?

  excel中如何隐藏单元格的值为"0"的单元格?          在我们编辑excel表的时候,有时我们需要对excel表进行整理,例如在一个excel工作表中如果有很多单元格中的数据为"0"的数字单元格,那么我们想隐藏这些单元格的值为"0"的单元格,应该怎样操作呢?接下来我将给大家进行介绍. 首先打开我们需要编辑的excel表格. 然后选中要编辑的excel单元格区域,在excel菜单栏中点击选择"开始"-"

c#-C#怎样读取含有宏操作的excel的单元格的值

问题描述 C#怎样读取含有宏操作的excel的单元格的值 C#读取excel的时候,如果excel中包含宏,比如输入身份证号码,自动填充性别那一列和出生年月那一列.读取性别的时候会出来一连串的宏字符,怎样能只读取excel显示出来的单元格内容啊.大神们,跪求了...

java怎么将 excel表格含义空单元格、合并的单元格怎么导入数据库

问题描述 java怎么将 excel表格含义空单元格.合并的单元格怎么导入数据库 java excel表格含义空单元格.合并的单元格怎么导入数据库 解决方案 JAVA POI 操作EXCEL 合并单元格 解决方案二: 你是不会用Java读取Excel还是读取了但是不能写入数据库,, 具体是什么问题,, POI操作Excel:http://blog.csdn.net/hekewangzi/article/category/5698027 解决方案三: 可以使用java的POI完成对excel的操作

Excel填充柄和单元格拖放功能如何取消

  1.打开Excel表格,拖动单元格,我们会发现自动自带填充柄拖放功能. 2.点击工具栏的"文件"→"选项" 3.在Excel选项里选择"高级",接着将"启用填充柄和单元格拖放功能"前面的勾去除. 4.返回工作表后我们就会发现无法对单元格进行拖放啦

excel怎么限定列单元格的输入内容?

  excel怎么限定列单元格的输入内容?        如何限定号码列单元格输入限定的文本位数,比如身份证号码列固定18位? 如何限定性别列单元格只可输入"男or女"? 工具/原料 excel(小编使用版本为MS office 2013) 一.如何限定号码列单元格输入文本位数 示例操作目的:以A列为号码(编码)列,要求是在A列只能键入5位数. 首先,在A列上方插入光标选中A列,在excel的菜单栏切换到"数据"选项卡,找到"数据工具"菜单组.

excel中怎么合并单元格

  EXCEL中合并单元格在什么地方? 1.单元格的合并:同时选中需要合并的单元格,然后按一下"格式"工具栏上的"合并及居中"按钮即可. 2.撤销单元格的合并:选中合并后的单元格,然后再按一下"格式"工具栏上的"合并及居中"按钮即可. 注意:如果是Excel2000及以前的版本,撤销单元格的合并需要这样操作:选中合并后的单元格,执行"格式→单元格"命令,打开"单元格格式"对话框,切换到&

c#操作excel,怎么往单元格中写数据?

问题描述 c#操作excel,怎么往单元格中写数据? //往指定单元格中填数据 sheet.Cells[1, 1]= num; 我用这种方式往excel中写数据为什么一直都不行? 求大神指点正确方法··· 解决方案 sheet.Cells[1, 1]得到的是Cell类型的对象,不是里面的值,要知道,一个单元格除了值,还有颜色 字体 格式 公式 等等很多属性呢 sheet.Cells[1, 1].SetCellValue(num) 注意格式和类型 解决方案二: http://www.cnblogs

excel合并单元格 c#-关于C#读取excel合并字符串,遇到的问题,希望大神们能帮忙,我真的没办法了

问题描述 关于C#读取excel合并字符串,遇到的问题,希望大神们能帮忙,我真的没办法了 在C#读取excel合并单元格中,我用的是如下的办法,就是遇到合并单元格,往上,先是同一列,然后cell(row-1,col)去向上寻找合并值,如果也是合并值,且有value,那么就寻找到值了,如果没有,一直到一个不是单元格的,那么结束,再通过cell(row,col-1)向左去寻找合并值,方法同上,代码如下 private string GetCellText(int row,int col,Excel.