
<div class="cnblogs_Highlighter">
<pre class="brush:java;gutter:true;">package Excel;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.CellType;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class WriteExcel {
Date dt = new Date();
SimpleDateFormat format = new SimpleDateFormat("YYYYMMddHHmmss");
String time = format.format(dt);
public void WriteExcelxls() {
FileOutputStream out = null;
try {
out = new FileOutputStream(new File(".Log旧的EXCEL文件_"+time+".xls"));
HSSFWorkbook workxls = new HSSFWorkbook();
HSSFSheet sheet = workxls.createSheet(time);
HSSFRow row = workxls.getSheet(time).createRow(0);
for (short i = 0; i < 10; i++) {
HSSFCell cell = row.createCell(i);
cell.setCellValue("测试" + i);
}
sheet.createRow(1).createCell(1).setCellValue("1234567890");
sheet.createRow(2).createCell(0).setCellValue(Calendar.getInstance());
sheet.createRow(3).createCell(0).setCellValue("字符串");
sheet.createRow(4).createCell(0).setCellValue(true);
sheet.createRow(5).createCell(0).setCellType(CellType.ERROR);
workxls.write(out);
out.close();
System.out.println("旧的EXCEL文件_.xls written successfully on disk.");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
public void WriteExcelxlsx() {
File file = new File(".Log新的EXCEL文件_"+time+".xlsx");
FileOutputStream out = null;
try {
out = new FileOutputStream(file);
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFRow row = workbook.createSheet(time).createRow(0);
XSSFSheet sheet = workbook.getSheet(time);
for (short i = 0; i < 10; i++) {
XSSFCell cell = row.createCell(i);
cell.setCellValue("新的EXCEL文件" + i);
}
sheet.createRow(1).createCell(1).setCellValue("1234567890");
sheet.createRow(2).createCell(0).setCellValue(Calendar.getInstance());
sheet.createRow(3).createCell(0).setCellValue("字符串");
sheet.createRow(4).createCell(0).setCellValue(true);
sheet.createRow(5).createCell(0).setCellType(CellType.ERROR);
workbook.write(out);
out.close();
System.out.println("新的EXCEL文件_.xlsx written successfully on disk.");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
import org.testng.annotations.Test;
public class TestExcel {
@Test(priority = 1)
private void Testold()
{
WriteExcel aaa = new WriteExcel();
aaa.WriteExcelxls();
}
@Test(priority = 2)
public void Testnew()
{
WriteExcel aaa = new WriteExcel();
aaa.WriteExcelxlsx();
}
}
依赖:
4.0.0
<groupId>Jasmine</groupId>
<artifactId>Test</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.0.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.0.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml-schemas -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml-schemas</artifactId>
<version>4.0.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.testng/testng -->
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.9.4</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.13.1</version>
</dependency>
</dependencies>
<div class="cnblogs_Highlighter">
<pre class="brush:java;gutter:true;">package Excel;
import org.apache.poi.hssf.usermodel.*;
import org.apache.poi.ss.usermodel.CellType;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class WriteExcelMore {
static Date dt = new Date();
static SimpleDateFormat format = new SimpleDateFormat("YYYYMMddHHmmss");
static String time = format.format(dt);
public static void main(String args[]) {
File file = new File(".Log新的EXCEL文件_" + time + ".xls");
FileOutputStream out = null;
try {
out = new FileOutputStream(file);
HSSFWorkbook workbook = new HSSFWorkbook(); //创建一个新的excel
HSSFSheet sheet = workbook.createSheet(time); //创建sheet页
HSSFHeader header = sheet.getHeader();//创建header页
header.setCenter("Title");
HSSFRow[] row = new HSSFRow[3];
row[0] = sheet.createRow(0);
HSSFCell headerCell = row[0].createCell(5);
headerCell.setCellValue(new HSSFRichTextString("标题"));
//HSSFRow row = workbook.getSheet(time).createRow(3);
row[1] = sheet.createRow(1);
for (short i = 0; i < 5; i++) {
HSSFCell cell = row[1].createCell(i);
cell.setCellValue("新的EXCEL文件" + i);
}
row[2] = sheet.createRow(2);
String[] arr = new String[5];
String[] arr2 = {"aa","bb","cc","dd","ee"};
for (short i = 0; i < 5; i++) {
HSSFCell cell = row[2].createCell(i);
cell.setCellValue(arr2[i]);
}
sheet.createRow(5).createCell(1).setCellValue("1234567890");
sheet.createRow(6).createCell(0).setCellValue(Calendar.getInstance());
sheet.createRow(7).createCell(0).setCellValue("字符串");
sheet.createRow(8).createCell(0).setCellValue(true);
sheet.createRow(9).createCell(0).setCellType(CellType.ERROR);
//设置footer
sheet.setGridsPrinted(false);
HSSFFooter footer = sheet.getFooter();
footer.setRight("page " + HeaderFooter.page() + "of" + HeaderFooter.numPages());
workbook.write(out);
out.close();
System.out.println(file + " written successfully on disk.");
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
遇到的错如下:
1.?Exception in thread "main" java.lang.NoClassDefFoundError:?
2.?Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/compress/archivers/zip/ZipFile
3.?Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/collections4/ListValuedMap
4.?Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlObject
5. java.lang.NoClassDefFoundError: org/apache/xmlbeans/XmlException
org.apache.xmlbeans xmlbeans 3.0.0
6. java.lang.NoClassDefFoundError: org/apache/commons/collections4/ListValuedMap
org.apache.commons commons-collections4 4.1
7. java.lang.NoClassDefFoundError: org/apache/commons/compress/archivers/zip/ZipFile
org.apache.commons commons-compress 1.18 org.apache.commons commons-lang3 3.4
8. java.lang.NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setEntityExpansionLimit(I)Lorg/apache/xmlbeans/XmlOptions;
上述都是包的问题,后来新建了一个项目,换成maven管理依赖包,一次性解决了。
update 20181122
将上述代码拖到UI自动化项目中,发现执行报各种错误,已添加到上面。?
都是jar包的问题,但是我已经将测试成功项目中的pom文件中的jar包都下载来了,却还是报各种错,解决了一个又遇到下一个。 (┬_┬)
maven打包,因为网络问题,有时候有的包未能下载下来,就自己下载jar包引用,可是(┬_┬)(┬_┬)无力
苦心人天不负,三千越界可吞吴。哈哈哈哈,在尝试了千万遍之后,终于成功了,下面是所有新引入的jar包,百度网盘链接如下:

其中红框框是为了解决excel中xlsx格式而引入的一系列jar包。
链接:提取码:ip2u 链接若失效,请联系我 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|