发布网友 发布时间:2022-04-26 14:41
共1个回答
热心网友 时间:2022-06-29 08:01
你可以用jxl架包来操作,如果你没有jxl可以找我,我给你传一个。我这有段jxl操作excel的代码,你可以参考下,有啥不清楚的也可以找我,希望对你有帮助。
public class ExcelDemo {
/**
* 写入 Xls 文件
* @throws IOException
* @throws WriteException
* @throws RowsExceededException
*/
private static void writerExcel() throws Exception {
WritableWorkbook book = Workbook.createWorkbook(new File("D:\\Book3.xls"));// 创建可以写的book文件对象
WritableSheet sheet = book.createSheet("qy", 0);// 在book3.xls中创建一个sheet,名称为'qy',从第一列开始插入
int i = 0;
while (i != 10) {
// 设置第一列写入的内容
Label l = new Label(0, i, "第一列:" + i);
// 设置列的宽度
sheet.setColumnView(0, 50);
sheet.setColumnView(1, 100);
sheet.addCell(l);
// 设置第二列写入的内容
l = new Label(1, i, "第二列:" + i);
sheet.addCell(l);
i++;
}
// 写入ecxel
book.write();
// 一定要关闭,否则不写入
book.close();
System.out.println("创建book3成功,并且写入数据成功......");
}
/**
* 读写 Xls 文件
*/
@SuppressWarnings("unused")
private static void ReadAndWriteExcel() throws Exception {
Workbook workBook = null;
// 构建Workbook对象 只读Workbook对象
// 直接从本地文件创建Workbook
// 从输入流创建Workbook
InputStream inputStream = new FileInputStream("D:\\Book1.xls");
workBook = Workbook.getWorkbook(inputStream);
// Sheet(术语:工作表)就是Excel表格左下角的Sheet1,Sheet2,Sheet3但在程序中
// Sheet的下标是从0开始的
// 获取第一张Sheet表
Sheet sheets = workBook.getSheet(0);
// 获取Sheet表中所包含的总列数
int sheetColumns = sheets.getColumns();
// 获取Sheet表中所包含的总行数
int sheetRows = sheets.getRows();
// 获取指这下单元格的对象引用
for (int i = 0; i < sheetRows; i++) {
for (int j = 0; j < sheetColumns; j++) {
// 注意在读取时 i和j的位置。i代表行 j代表列。且列在前 行在后
Cell cell = sheets.getCell(j, i);
System.out.print(cell.getContents() + " ");
}
System.out.println();
}
// 利用已经创建的Excel工作薄创建新的可写入的Excel工作薄
WritableWorkbook wwb = Workbook.createWorkbook(new File("D:\\Book2.xls"), workBook);
// 读取第一张工作表
WritableSheet ws = wwb.getSheet(0);
// 获取第一个单元格对象
WritableCell wc = ws.getWritableCell(0, 0);
// 决断单元格的类型,做出相应的转化
if (wc.getType() == CellType.LABEL) {
Label l = (Label) wc;
l.setString("The value has been modified.");
}
// 写入Excel对象
wwb.write();
wwb.close();
// 操作完成时,关闭对象,翻译占用的内存空间
workBook.close();
}
/**
* 读取 Xls 文件内容
*/
@SuppressWarnings("unused")
private static void readExcelFile() throws Exception {
// 创建工作簿对象
File excelFile = new File("D:\\Book2.xls");
Workbook workBook = Workbook.getWorkbook(excelFile);
// 得到工作簿所有的工作表对象
Sheet[] sheets = workBook.getSheets();
// 遍历所有行
for (int i = 0; i < sheets[0].getRows(); i++) {
// 得到所有列,在输出列中的内容
Cell[] cells = sheets[0].getRow(i);
for (int j = 0; j < cells.length; j++) {
System.out.print(cells[j].getContents() + " ");
}
System.out.println();
}
}
public static void main(String[] args) throws Exception {
readExcelFile();
ReadAndWriteExcel();
writerExcel();
}
}