`
sunbin
  • 浏览: 354328 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Java对excle的写入操作

阅读更多

 

 

apache.org提供了一个项目(poi)专门用于对办公软件的操作。这样大大方便了我们操作和读取其中的内容,用于统计分析。我下载的版本为poi-bin-3.6-20091214.zip

Component APIs
Excel (SS=HSSF+XSSF)
Word (HWPF+XWPF)
PowerPoint (HSLF+XSLF)
OpenXML4J (OOXML)
OLE2 Filesystem (POIFS)
OLE2 Document Props (HPSF)
Outlook (HSMF)
Visio (HDGF)
Publisher (HPBF)

 

在文档中提供了2种不同的写入方法,一个是老代码,一个是新代码。如果你希望能够兼容xls文件和xslx文件,那么建议用新代码。且老代码对office2007的操作不是很好。

代码如下:

// import org.apache.poi.hssf.usermodel.*;

 


 public static void main(String[] args)throws Exception {
  HSSFWorkbook wb = new HSSFWorkbook();
  // create a new sheet 创建一个新表
  HSSFSheet s = wb.createSheet();
  // declare a row object reference 声明一个新行
  HSSFRow r = null;
  // declare a cell object reference 声明一个单元格
  HSSFCell c = null;
  // create 2 cell styles 创建2个单元格样式
  HSSFCellStyle cs = wb.createCellStyle();
  HSSFCellStyle cs2 = wb.createCellStyle();
  HSSFDataFormat df = wb.createDataFormat();

  // create 2 fonts objects 创建2个单元格字体
  HSSFFont f = wb.createFont();
  HSSFFont f2 = wb.createFont();

  // Set font 1 to 12 point type, blue and bold 设置字体类型1到12号,蓝色和粗体
  f.setFontHeightInPoints((short) 12);
  f.setColor( HSSFColor.RED.index );
  f.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);

  // Set font 2 to 10 point type, red and bold 设置字体类型2到10号,红色和粗体
  f2.setFontHeightInPoints((short) 10);
  f2.setColor( HSSFColor.RED.index);
  f2.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);

  // Set cell style and formatting 设置单元格样式和格式
  cs.setFont(f);
  cs.setDataFormat(df.getFormat("#,##0.0"));

  // Set the other cell style and formatting 设置其他单元格样式和格式
  cs2.setBorderBottom(cs2.BORDER_THIN);
  cs2.setDataFormat(HSSFDataFormat.getBuiltinFormat("text"));
  cs2.setFont(f2);


  // Define a few rows 定义一个新行
  for(short rownum = (short)0; rownum < 30; rownum++) {
    r = s.createRow(rownum);
   for(short cellnum = (short)0; cellnum < 10; cellnum += 2) {
     c = r.createCell(cellnum);
    HSSFCell c2 = r.createCell(cellnum+1);

    c.setCellValue((double)rownum + (cellnum/10));
    c2.setCellValue(new HSSFRichTextString("Hello! " + cellnum));
   }
  }

  // Save保存
  FileOutputStream out = new FileOutputStream("d://workbook.xls");
  wb.write(out);
  out.close();
         
 }
 
 
 
 
 
// import org.apache.poi.hssf.usermodel.*;
 
 
 
 
 
 public static void main(String[] args) throws Exception {
  Workbook[] wbs = new Workbook[] { new HSSFWorkbook(),
    new XSSFWorkbook() };
  for (int i = 0; i < wbs.length; i++) {
   Workbook wb = wbs[i];
   CreationHelper createHelper = wb.getCreationHelper();

   // create a new sheet 创建一个新表
   Sheet s = wb.createSheet();
   // declare a row object reference 声明一个对象的引用行
   Row r = null;
   // declare a cell object reference 声明对象的引用单元格
   Cell c = null;
   // create 2 cell styles 创建2单元格样式
   CellStyle cs = wb.createCellStyle();
   CellStyle cs2 = wb.createCellStyle();
   DataFormat df = wb.createDataFormat();

   // create 2 fonts objects 创建2字体对象
   Font f = wb.createFont();
   Font f2 = wb.createFont();

   // Set font 1 to 12 point type, blue and bold 设置字体1至12点类型,蓝色和粗体
   f.setFontHeightInPoints((short) 12);
   f.setColor(IndexedColors.RED.getIndex());
   f.setBoldweight(Font.BOLDWEIGHT_BOLD);

   // Set font 2 to 10 point type, red and bold 设置字体2至10点类型,红色和粗体
   f2.setFontHeightInPoints((short) 10);
   f2.setColor(IndexedColors.RED.getIndex());
   f2.setBoldweight(Font.BOLDWEIGHT_BOLD);

   // Set cell style and formatting 设置单元格样式和格式
   cs.setFont(f);
   cs.setDataFormat(df.getFormat("#,##0.0"));

   // Set the other cell style and formatting 设置其他单元格样式和格式
   cs2.setBorderBottom(cs2.BORDER_THIN);
   cs2.setDataFormat(df.getFormat("text"));
   cs2.setFont(f2);

   // Define a few rows 定义几行
   for (int rownum = 0; rownum < 30; rownum++) {
    r = s.createRow(rownum);
    for (int cellnum = 0; cellnum < 10; cellnum += 2) {
     c = r.createCell(cellnum);
     Cell c2 = r.createCell(cellnum + 1);

     c.setCellValue((double) rownum + (cellnum / 10));
     c2.setCellValue(createHelper.createRichTextString("Hello! "
       + cellnum));
    }
   }

   // Save 保存
   String filename = "d://workbook.xls";
   if (wb instanceof XSSFWorkbook) {
    filename = filename + "x";
   }

   FileOutputStream out = new FileOutputStream(filename);
   wb.write(out);
   out.close();
  }

 }

 

分享到:
评论
1 楼 futurep_p 2010-01-29  
建议试试jxls框架,很方便。不过还没有支持2007

相关推荐

    java 生成excle文件

    jxl是一个开源的Java库,它允许开发者读取、写入和修改Excel文件(.xls格式),非常适合在没有Microsoft Excel的情况下操作Excel数据。 首先,确保在项目中引入了jxl.jar库。这通常通过将jxl.jar添加到项目的类路径...

    java对Excle的操作

    本文将深入探讨如何使用Java进行Excel的操作,包括读取和写入,适合初学者入门学习。 首先,Java对Excel的操作通常依赖于第三方库,其中最常用的是Apache POI项目。Apache POI是一个开源的Java API,它允许我们创建...

    java操作excle

    Excel文件格式(.xlsx或.xls)通常用于存储表格数据,而Java提供了多种库来支持对这些文件的操作。以下将详细讲解如何使用Java进行Excel的导入与导出。 首先,Java中最常用的库是Apache POI项目,它提供了对...

    java生成excle和pdf

    比如,一次性写入大量单元格可能导致内存溢出,可以考虑分批写入或使用 Streaming API。 - 对于PDF,可以使用低内存模式或只写模式来减少内存占用。 5. 安全性: - 生成的文件可能会被恶意用户利用,因此需要考虑...

    JAVA生成EXCLE

    "JAVA生成EXCLE"这个主题涵盖了如何使用Java技术来创建和操作Microsoft Excel文件。Excel文件通常使用`.xlsx`或`.xls`格式,而Java中的Apache POI库就是处理这些文件的强大工具。 Apache POI是一个开源项目,它提供...

    java 写入 excle、pdf、word资料

    Java提供了多种库来操作Excel文件,例如Apache POI。Apache POI是一个流行的API,用于读取、写入Microsoft Office格式的文件,包括Excel。要向Excel写入数据,你需要创建一个`Workbook`对象,然后创建`Sheet`和`Row`...

    java操作excle.rar

    这个压缩包“java操作excle.rar”可能包含了一些示例代码或教程,帮助用户了解如何使用Java来读取、写入和修改Excel文件。在这里,我们将详细讨论Java与Excel交互的核心知识点。 1. **Apache POI库**:Java操作...

    java生成excle

    如果你的项目对Excel文件的操作比较简单,可以考虑使用。 总的来说,Java生成Excel文件主要依赖于Apache POI库,它可以满足大部分需求,提供丰富的API来创建复杂的Excel结构。对于特定的需求,还可以选择其他库,如...

    JAVA 导出EXCLE

    这个小例子展示了使用Apache POI基本的Excel文件操作。在实际应用中,你可能需要处理更复杂的情况,比如合并单元格、添加公式、调整样式等。Apache POI库提供了丰富的API来支持这些功能,确保你可以根据需求创建出...

    Java 解析Excle(2003/2007)

    在Java编程环境中,解析Excel...通过学习和理解POI API,开发者可以轻松地读取、写入和操作Excel文件,满足各种业务需求。记得在实际项目中根据具体需求选择合适的库和方法,同时关注性能优化,以确保高效的数据处理。

    java写入excel图片操作

    在Java编程中,将图片写入Excel文件是一项常见的任务,特别是在数据分析、报表生成或数据可视化的情景下。这里,我们将详细探讨如何实现这个功能,主要依赖于`Apache POI`库来操作Excel,并结合`JFreeChart`库来创建...

    java Excle poi简单示例

    Java中的Apache POI库是一个非常强大的工具,它允许开发者读取、写入和修改Microsoft Office格式的文件,尤其是Excel文档。在"java Excel poi简单示例"中,我们将探讨如何利用POI库来处理Excel数据。 Apache POI是...

    java导出excle工具类

    在给定的"java jsp 导出 excle"标签中,我们可以推断这个工具类主要用于Java Web环境,尤其是JSP页面,用于生成和下载Excel文件。 在Java中,实现Excel导出通常有两种方式:使用Apache POI库和使用JExcelAPI。...

    JXL全量版教程 java读取excle

    此外,JXL还支持对Excel文件的写操作。创建新的`Workbook`,然后添加`Sheet`,接着创建`Row`和`Cell`,并设置相应的值。最后,使用`Workbook.write()`方法将工作簿写入文件: ```java Workbook newWorkbook = new ...

    java导入excle详解

    Java作为广泛使用的编程语言之一,提供了多种库和框架来实现与Excel的交互,包括读取、写入、格式化数据等功能。本文将深入探讨如何使用Java进行Excel的导入操作,并涵盖相关知识点。 #### Java与Excel操作库 Java...

    java解析excle的两种方法

    在Java编程中,处理Excel文件是一项常见的任务,无论是读取数据、写入数据还是进行复杂的分析操作。在Java中,有多种库可以帮助我们完成这项工作,其中最常用的两个是JXL和Apache POI。下面将详细讲解这两种方法的...

    java excle导入

    在Java编程环境中,处理Excel文件是一项常见的任务,特别是在数据导入、导出或分析场景中。本文将深入探讨如何使用Java进行Excel导入,并提供相关的技术点和实现...希望这些知识点能帮助你在Java Excel操作中游刃有余。

    java poi操作excle例子

    接下来,我们将讨论如何创建一个新的Excel文件、读取现有文件以及对Excel工作表进行各种操作。 1. **创建新的Excel文件**: 使用`XSSFWorkbook`类可以创建一个新的Excel工作簿。然后,你可以通过调用`createSheet...

    java-excel.rar_excel java_java excel_java excle_java语言 excel

    首先,Java与Excel交互的主要库有Apache POI和JExcelAPI,但Apache POI是最广泛使用的一个,它是一个开源项目,提供了对Microsoft Office文件格式(包括Excel)的读写支持。这里我们主要关注的是HSSF(用于旧版的....

    java操作Excel文件

    在Java编程环境中,操作Excel文件是一项常见的任务,尤其在数据处理、数据分析或自动化测试等领域。本文将深入探讨如何使用Java来读取、写入和修改Excel文件,主要涉及的库有Apache POI和JExcelApi。 Apache POI是...

Global site tag (gtag.js) - Google Analytics