`
forlab
  • 浏览: 133995 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java生成、读取、修改Excel示例

 
阅读更多
生成Excel的类:
public   static   void  main(String args[])  {
        public void show(){
  try {
           //打开文件
           WritableWorkbook book = Workbook.createWorkbook(new File( "test.xls " ));
           //生成名为“第一页”的工作表,参数0表示这是第一页
           WritableSheet w0  =  book.createSheet("第一页 ",0);
           WritableSheet w1  =  book.createSheet("第二页 ",1);
           WritableSheet w2  =  book.createSheet("第三页 ",2);
           //在Label对象的构造子中指名单元格位置是第一列第一行(0,0),以及单元格内容为test
           //第一个参数表示列,第二个参数表示行,第三个参数表示数据
           Label label = new Label( 0 ,  0 ,  " test " );
           //将定义好的单元格添加到工作表中
           w0.addCell(label);
           //生成一个保存数字的单元格 必须使用Number的完整包路径,否则有语法歧义 单元格位置是第二列,第一行,值为789.123
           jxl.write.Number number  =   new  jxl.write.Number( 1 ,  0 ,  555.12541 );
           w0.addCell(number);
           //这种方式是以文本字符的形式将数值存储到xls文件中的。
           w1.addCell(new Label(0,0,"12"));
           w1.addCell(new Label(1,0,"21"));
           w1.addCell(new Label(2,0,"123"));
          
           //第二列,第一行==========存储数字必须有Number的实例是
           w1.addCell(new Number(1,0,123));
           //第二列,第五行
           w2.addCell(new Number(1,4,123));
           //写入数据并关闭文件
           book.write();
           book.close();
  } catch (Exception e)  {
           System.out.println(e);
       }
      }
    }

读取Excel的类:
public   class  ReadExcel  {
     public   static   void  main(String args[])  {
         try   {
            Workbook book = Workbook.getWorkbook(new File("f:\\test.xls"));
            //获得第一个工作表对象
            Sheet sheet  =  book.getSheet(0);
            //得到第一列第一行的单元格
            Cell cell1 = sheet.getCell(0,0);
            String result = cell1.getContents();
            System.out.println(result);
            //得到整个第一列
            Cell [] ces = sheet.getColumn(0);
            for (int i = 0; i < ces.length; i++) {
    System.err.println(ces[i].getContents());
   }
            //得到整个第一行
            Cell [] crs = sheet.getRow(0);
            for (int i = 0; i < crs.length; i++) {
    System.err.println(crs[i].getContents());
   }
            book.close();
        }   catch  (Exception e)  {
            System.out.println(e);
        }
    }
//修改Excel的类
public   class  UpdateExcel  {
     public static void  main(String args[])  {
         try {
            //Excel获得文件
            Workbook wb = Workbook.getWorkbook(new File("f:\\test.xls" ));
            //打开一个文件的副本,并且指定数据写回到原文件
            WritableWorkbook book = Workbook.createWorkbook(new File("f:\\test.xls"),wb);
            //添加一个工作表
            //第一个参数:新添加的页面名称。2表示它的位置,从零开始,2表示第三页
            WritableSheet sheet = book.createSheet("第二页 ",2);
            sheet.addCell(new Label(0,0," 第二页的测试数据 " ));
            book.write();
            book.close();
        }   catch  (Exception e)  {
            System.out.println(e);
        }
    }
}
其他操作:
其他操作
一、 数据格式化
在Excel中不涉及复杂的数据类型,能够比较好的处理字串、数字和日期已经能够满足一般的应用。
1、 字串格式化
字符串的格式化涉及到的是字体、粗细、字号等元素,这些功能主要由WritableFont和WritableCellFormat类来负责。
假设我们在生成一个含有字串的单元格时,使用如下语句,为方便叙述,我们为每一行命令加了编号:
WritableFont font1 = new  WritableFont(WritableFont.TIMES, 16 ,WritableFont.BOLD); ①
WritableCellFormat format1 = new  WritableCellFormat(font1); ②
Label label = new  Label( 0 , 0 ,”data  4  test”,format1) ③
其中
①指定了字串格式:字体为TIMES,字号16,加粗显示。WritableFont有非常丰富的 构造子,供不同情况下使用,jExcelAPI的java-doc中有详细列表,这里不再列出。
②处代码使用了WritableCellFormat类,这个类非常重要,通过它可以指定单元格的各种属性,后面的单元格格式化中会有更多描述。
③处使用了Label类的构造子,指定了字串被赋予那种格式。在WritableCellFormat类中,还有一个很重要的方法是指定数据的对齐方式。
比如针对我们 上面的实例,可以指定:
//把水平对齐方式指定为居中
format1.setAlignment(jxl.format.Alignment.CENTRE);
//把垂直对齐方式指定为居中
format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);

二、单元格操作
Excel中很重要的一部分是对单元格的操作,比如行高、列宽、单元格合并等,所幸jExcelAPI提供了这些支持。这些操作相对比较简单,下面只介绍一下相关的API。
1、 合并单元格
WritableSheet.mergeCells( int  m, int  n, int  p, int  q);
//作用是从(m,n)到(p,q)的单元格全部合并,比如:
WritableSheet sheet = book.createSheet(“第一页”, 0 );
//合并第一列第一行到第六列第一行的所有单元格
sheet.mergeCells( 0 , 0 , 5 , 0 );
合并既可以是横向的,也可以是纵向的。合并后的单元格不能再次进行合并,否则会触发异常。

2、 行高和列宽
WritableSheet.setRowView(int i,int height);
//作用是指定第i+1行的高度,比如:
//将第一行的高度设为200
sheet.setRowView(0,200);
WritableSheet.setColumnView(int i,int width);
//作用是指定第i+1列的宽度,比如:
//将第一列的宽度设为30
sheet.setColumnView(0,30);
jExcelAPI还有其他的一些功能,比如插入图片等,这里就不再一一介绍,读者可以自己探索。
其中:如果读一个excel,需要知道它有多少行和多少列,如下操作:
Workbook book = Workbook.getWorkbook(new File("测试1.xls"));
//获得第一个工作表对象
Sheet sheet = book.getSheet(0);
//得到第一列第一行的单元格
int columnum = sheet.getColumns();//得到列数
int rownum = sheet.getRows();//得到行数
System.out.println(columnum);
System.out.println(rownum);
for(int i = 0;i < rownum;i ++ )//循环进行读写
{
    for(int j = 0;j < columnum;j ++) {
        Cell cell1 = sheet.getCell(j, i);
        String result = cell1.getContents();
        System.out.print(result);
        System.out.print( " \t " );
    }
    System.out.println();
}
book.close();


分享到:
评论

相关推荐

    java读取excel文件生成矩阵

    在Java编程中,读取Excel文件并生成矩阵是一项常见的任务,尤其在数据分析、报表处理或者数据导入导出的场景下。Excel文件通常用于存储结构化的表格数据,而矩阵则是一种有效的数据表示方式,便于计算和分析。下面...

    Java通过POI读取Excel遍历数据,批量生成word文档

    本教程将重点讲解如何使用Apache POI库来读取Excel数据,并基于这些数据批量生成Word文档。Apache POI是一个开源项目,它允许Java开发者处理Microsoft Office格式的文件,如Excel(.xlsx或.xls)和Word(.docx)。 ...

    java读取excel简单例子

    在这个简单的例子中,我们将探讨如何使用jxl.jar来读取Excel数据,这对于初学者来说是一个很好的起点。 首先,你需要将jxl.jar添加到你的项目类路径中,以便能够使用它的API。这可以通过在你的构建系统(如Maven或...

    java通过poi解析Excel示例

    在这个例子中,我们首先创建一个`FileInputStream`来读取Excel文件,然后使用`XSSFWorkbook`来打开这个文件。`XSSFWorkbook`适用于.xlsx格式的Excel文件,如果是.xls格式,应使用`HSSFWorkbook`。接下来,我们获取第...

    java的poi生成excel图表demo

    在Java中,它允许开发者创建、修改和读取Excel工作簿、工作表以及单元格的数据。POI库不仅支持基本的文本和数字操作,还支持更高级的功能,如公式计算、样式设置和图表创建。 2. **创建Excel图表** 要生成Excel图表...

    java excel生成二维码(可以添加图标和文字).zip

    在本项目中,我们主要探讨如何使用Java技术栈,特别是SpringBoot框架,来生成包含二维码的Excel文件。这个压缩包提供了必要的代码示例,包括`qrcode.java`、`MatrixToImageWriter.java`和`LogoConfig.java`三个关键...

    java上传并读取excel工具类

    3. **读取Excel文件**: 使用Apache POI,我们可以通过`XSSFWorkbook`(对于.xlsx)或`HSSFWorkbook`(对于.xls)来打开Excel文件。以下是一个简单的示例: ```java Workbook workbook = new XSSFWorkbook(new ...

    用Java程序读取Excel表格内容并显示在Swing中

    在Java编程环境中,读取Excel表格内容并将其展示在Swing界面是一项常见的任务,尤其在数据处理和报表展示方面。本篇文章将详细讲解如何实现这一功能。 首先,我们需要引入两个关键库:Apache POI用于读取Excel文件...

    Java生成Excel文件

    总之,Java生成Excel文件是通过Apache POI库实现的,它提供了丰富的API来创建、读取和修改Excel文件。通过学习和实践,我们可以熟练地运用这些工具,满足各种场景下的需求。对于初学者,可以从简单的例子开始,逐步...

    读取分析Excel所有jar包和java示例文件

    本资源包聚焦于这个主题,包含了一系列jar包以及两个.java示例文件,帮助我们深入理解如何在Java环境中读取和解析Excel内容。 首先,让我们了解一下核心的jar包。这些jar包通常包含了用于操作Excel文件的API,例如...

    spring boot读取Excel操作示例

    Spring Boot 框架在实际开发中经常需要读取 Excel 文件,以便于数据导入、导出或报表生成等操作。为了实现 Spring Boot 读取 Excel 操作,需要使用 Apache POI 库,该库提供了对 Excel 文件的读写操作。 依赖配置 ...

    java批量读取Excel表格

    Java批量读取Excel表格是一种常见的数据处理需求,特别是在大数据导入、报表生成或数据分析场景中。在Java中,我们可以借助Apache POI库来实现这一功能。Apache POI是一个强大的开源库,它允许Java开发者读写...

    java 读取Excel文件中的内容

    在Java编程中,读取Excel文件的内容是一项常见的任务,尤其在数据处理、报表生成或数据分析等领域。Excel文件通常包含表格数据,而Java提供多种库来处理这类任务,比如Apache POI、JExcelApi和OpenCSV等。本篇将重点...

    Java POI根据模板生成Excel(xlsx)文件

    在本示例中,我们关注的是如何利用Java POI来根据模板生成.xlsx格式的Excel文件。这个过程涉及到对Excel模板的理解、读取、修改以及最终的保存。 首先,理解模板文件是关键。一个.xlsx模板文件实际上是由一系列XML...

    java 读取excel内容 创建excel 插入文字及图片

    以上代码示例涵盖了读取Excel内容、创建新的Excel文件、向Excel中插入文字以及插入图片的基本操作。请注意替换代码中的文件路径以匹配你的实际文件位置。通过这些基本操作,你可以根据需求构建更复杂的Excel处理逻辑...

    java读写excel示例

    首先,为了实现Java读取Excel文件,我们需要在项目中引入Apache POI的相关jar包。这些jar包通常包括poi-ooxml-schemas、poi-ooxml、poi以及poi-ooxml-lite等,它们提供了读写Excel文件所需的API。确保将这些依赖添加...

    JAVA读取Excel,建库建表,并生成java实体

    在Java开发中,读取Excel数据并利用这些数据进行数据库建库建表以及生成Java实体类是一项常见的任务,尤其在数据导入、数据处理或者自动化测试等场景中。本篇文章将详细探讨如何使用Java来实现这一过程。 首先,...

    Java生成excel 和读取word文档的内容 jxl 代码

    总之,Java通过jxl库提供了一种简单的方式来生成和读取Excel文件,但请注意,对于较新的Excel格式(.xlsx),jxl可能不支持,此时推荐使用Apache POI。对于Word文档,你需要选择专门的库如Apache POI或JODConverter...

    java根据excel生成 hive建表语句

    总的来说,通过Java结合Apache POI库,我们可以方便地读取Excel文件,并根据其内容生成Hive的建表语句。这在数据迁移、数据分析以及数据仓库初始化等场景中非常实用。在实际应用中,可能还需要考虑数据清洗、异常...

    java 生成Excel,可根据模板格式生成 Excel打印专用 报表

    在Java编程环境中,生成Excel报表是一项常见的任务,特别是在数据分析、数据导出或报表制作的场景中...以上就是使用Java生成基于模板的Excel报表的基本步骤和知识点,实际开发中可能还需要根据业务需求进行调整和优化。

Global site tag (gtag.js) - Google Analytics