package com.bytecode.openexcel.util;
import java.io.File;
import java.io.IOException;
import jxl.Cell;
import jxl.CellType;
import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;
import jxl.write.Label;
import jxl.write.Number;
import jxl.write.WritableCell;
import jxl.write.WritableCellFormat;
import jxl.write.WritableFont;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;
import jxl.write.biff.RowsExceededException;
public class MapExcel {
public static void main(String[] args) {
String step = "";
Workbook workBook = null;
Cell a = null;
String aStr = "";
try {
step = "read the xls";
workBook = Workbook.getWorkbook(new File("c:/myfile.xls"));
Sheet sheet = workBook.getSheet(0);
// 按行读取sheet中的数据
int skipLine = 0; // 可设置跳地读取的行数
for (int i = skipLine; i < sheet.getRows(); i++) {
Cell[] cells = sheet.getRow(i);
for (int j = 0; j < cells.length; j++) {
a = sheet.getCell(j, i);
aStr = a.getContents();
System.out.println(aStr);
}
}
// 按列读取sheet中的数据
for (int i = 0; i < sheet.getColumns(); i++) {
Cell[] cells = sheet.getColumn(i);
for (int j = 0; j < cells.length; j++) {
a = sheet.getCell(i, j);
aStr = a.getContents();
System.out.println(aStr);
}
}
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
workBook.close();
}
step = "write the xls";
WritableWorkbook workBook1 = null;
try {
workBook1 = Workbook.createWorkbook(new File("c:/output.xls"));
WritableSheet sheet1 = workBook1.createSheet("First sheet", 0);
Label label = new Label(0, 2, "A label record");
sheet1.addCell(label);
Number number = new Number(3, 4, 3.1459);
sheet1.addCell(number);
step = "add formated cell to xls";
// Create a cell format for Arial 10 point font
WritableFont arial10font = new WritableFont(WritableFont.ARIAL, 10);
WritableCellFormat arial10format = new WritableCellFormat(
arial10font);
// Create the label, specifying content and format
// 通过一种格式创建单元格
Label label2 = new Label(1, 0, "Arial 10 point label",
arial10format);
sheet1.addCell(label2);
// Cell formats objects are shared, so many cells may use the same
// format object, eg.
// 创建的单元格与前面创建的使用同样的格式
Label label3 = new Label(2, 0, "Another Arial 10 point label",
arial10format);
sheet1.addCell(label3);
// 可以使用其它的构造函数为某一个单元格单独列一种格式
// Create a cell format for Times 16, bold and italic
WritableFont times16font = new WritableFont(WritableFont.TIMES, 16,
WritableFont.BOLD, true);
WritableCellFormat times16format = new WritableCellFormat(
times16font);
// Create the label, specifying content and format
Label label4 = new Label(3, 0, "Times 16 bold italic label",
times16format);
sheet1.addCell(label4);
// 相应的还有对数字和日期的格式,具体看JAVA EXCEL API的指南文件
} catch (RowsExceededException e1) {
e1.printStackTrace();
} catch (WriteException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
} finally {
try {
workBook1.write();
workBook1.close();
} catch (IOException e) {
e.printStackTrace();
} catch (WriteException e) {
e.printStackTrace();
}
}
step = "copy and modify xls";
WritableWorkbook copy = null;
try {
Workbook workBook2 = Workbook
.getWorkbook(new File("c:/myfile.xls"));
// 把myfile.xls中的内容(包括所有sheet)复制到out.xls中
copy = Workbook.createWorkbook(new File("c:/out.xls"), workBook2);
WritableSheet sheet3 = copy.getSheet(1);
WritableCell cell3 = sheet3.getWritableCell(1, 2);
if (cell3.getType() == CellType.LABEL) {
Label l = (Label) cell3;
l.setString("modify cell");
}
} catch (BiffException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
copy.write();
copy.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
}
分享到:
相关推荐
Java Excel API,通常指的是jxl库,是一个...总之,jxl作为Java操作Excel的API,提供了全面的功能,是Java开发人员处理Excel数据的重要工具。通过熟练掌握jxl,你可以在Java项目中实现丰富的Excel交互,提升工作效率。
"java操作excel的api"这个标题所指的就是Java中用于操作Excel的API库,这些库允许开发者通过代码方便地操控Excel文件。描述中提到的"包括操作excel的sheet页、单元格、边框、底纹等各个excel对象的api接口"涵盖了...
Java Excel API是一个强大的工具,允许Java开发者方便地读取、写入和操作Microsoft Excel文件。在Eclipse这样的集成开发环境中,使用Java Excel API可以轻松处理各种Excel数据操作任务。本教程将详细介绍如何在...
用于操作Excel API Java Excel API - A Java API to read, write and modify Excel spreadsheets This is the home page of Java Excel API - open source Java API which allows Java developers to read Excel ...
在本文中,我们将深入探讨JavaExcel API的核心功能、使用场景以及如何在实际项目中进行操作。 1. **核心功能**: - **读取Excel文件**:JavaExcel API允许开发者轻松地读取Excel工作簿(Workbook)中的数据,包括...
Java Excel API 是一个开源项目,专门用于在Java环境中处理Excel文件。这个API使得开发者无需依赖Windows操作系统,就能在任何平台上创建、读取和修改Excel文件。由于它是用Java编写的,因此非常适合在Web应用程序中...
在处理Excel数据时,Java提供了多种API,使得开发者能够高效地读取、写入和操作Excel文件。本教程将围绕Java与Excel的结合,以及相关的API使用进行详细讲解。 一、Java与Excel的交互 1. Apache POI库:Apache POI...
当我们谈论“Java操作Excel表格”时,通常是指使用Java来读取、写入或处理Microsoft Excel文件,这在数据分析、报表生成或者数据交换等场景中非常常见。本主题将围绕Java如何与Excel交互进行深入探讨。 首先,Java...
### 利用Java Excel API操作Excel #### 一、引言 在企业级应用开发中,Excel文件的处理是一项常见的需求。Java作为一种广泛使用的编程语言,提供了多种库来支持Excel文件的操作,其中最为人所知的是`jxl`和`Apache ...
Java Excel API为开发者提供了强大的工具来操作Excel文件。通过合理选择库并掌握其基本和高级用法,可以极大地提高开发效率,并在企业级应用中实现高效的数据处理和报告功能。希望本教程能帮助您更好地理解和运用...
Apache POI提供了一系列API,使得开发者可以在Java环境中创建、修改和操作Excel文件,无需依赖Microsoft Office。下面将详细介绍使用Apache POI进行Excel操作的关键知识点。 1. **Apache POI简介** Apache POI是一...
利用 JXL,可以在任何支持 Java 的操作系统上动态读写 Excel 文件。下面将详细介绍 JXL 的使用方法和相关知识点。 一、JXL 的主页和下载 JXL 的主页是 http://www.andykhan.com/jexcelapi/,可以在这里下载到它的...
下面将详细介绍如何利用Java Excel API进行Excel文件的基本操作。 #### 二、从Excel文件中读取数据 要从Excel文件中读取数据,首先需要在项目中引入必要的jar文件。通常,我们会使用`jxl.jar`文件,这是一个用于...
java excel api 包 博文链接:https://crane-ding.iteye.com/blog/230690
### 利用JAVA操作EXCEL文件的关键知识点 #### 一、JAVA EXCEL API 简介 - **项目背景**:随着Web应用的发展,越来越多的应用场景需要通过Web端操作Excel文件,而传统的CSV文件虽然可以被Excel打开,但无法实现对...
JavaExcel API不仅限于读写数据,还可以进行其他文件操作,如复制、移动、重命名工作表,甚至合并单元格。这对于数据整理和报告生成非常有用。 6. **性能与优化**: 当处理大量数据时,性能优化变得尤为重要。...
Java Excel API是一种基于Java的excel文件处理API,能够快速、高效地处理和操作excel文件。通过使用Java Excel API,可以实现excel文件的读取、写入、编辑、格式化、打印等操作,从而满足企业和个人对excel文件的...