【发布时间】:2016-02-26 12:02:03
【问题描述】:
我正在使用 Eclipse IDE 进行编程。学习 Apache POI 教程后:
https://www.youtube.com/watch?v=RsrF2Ku7ad4
我通过 eclipse 创建了一个可执行 jar,并从以下链接执行以下步骤:http://help.eclipse.org/mars/index.jsp?topic=%2Forg.eclipse.jdt.doc.user%2Ftasks%2Ftasks-37.htm
从菜单栏的文件菜单中,选择导出。
展开 Java 节点并选择 Runnable JAR 文件。点击下一步。
在可运行 JAR 导出向导可运行 JAR 文件规范页面中,我选择了 WriteExcel 启动配置以用于创建可运行 JAR。
在导出目标字段中,我将其放置在我的 Eclipse 工作区中。
然后我选择将所需的库打包到生成的 JAR 文件中。
然后我将 JAR 文件与 Windows 中的 Java(TM) Platform SE 二进制文件相关联。 但是,当我双击它时,它不会像我在 Eclipse 中运行程序时那样创建一个 excel 文件。从命令行运行jar文件也不会返回错误或创建excel文件。
显然我做错了什么,非常感谢任何帮助。
编辑: 使用的代码与youtube教程相同:
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Date;
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.CellStyle;
import org.apache.poi.ss.usermodel.DataFormat;
public class WriteExcel {
public static void main(String[] args) throws IOException {
HSSFWorkbook workbook = new HSSFWorkbook();
HSSFSheet sheet = workbook.createSheet("FirstExcelSheet");
HSSFRow row = sheet.createRow(0);
HSSFCell cell = row.createCell(0);
cell.setCellValue("1. Cell");
cell = row.createCell(1);
DataFormat format = workbook.createDataFormat();
CellStyle dateStyle = workbook.createCellStyle();
dateStyle.setDataFormat(format.getFormat("dd.mm.yyyy"));
cell.setCellStyle(dateStyle);
cell.setCellValue(new Date());
row.createCell(2).setCellValue("3. Cell");
sheet.autoSizeColumn(1);
workbook.write(new FileOutputStream("excel.xls"));
workbook.close();
}
}
【问题讨论】:
-
也许您在操作系统中使用的 java 版本与 eclipse 完全不同?
-
我的猜测是你的 jar 正在工作,但是有一些编码问题或者文件被写入相对路径并且你找不到它。尝试添加一个简单的
System.out.println("hello")。如果您在命令行上执行 jar,您应该会看到“hello”。然后确保使用绝对路径将文件写入。 -
@Sercan Ozdemir:这会在命令行上触发错误消息或堆栈跟踪。
-
如何从命令行运行 Jar?你的代码中有什么
Exception处理? -
@Sercam Ozdemir:我使用的是相同的 java 版本。
标签: java eclipse excel jar apache-poi