gpt4 book ai didi

java - 将零件转换为文件并读取 Excel 文件

转载 作者:行者123 更新时间:2023-12-04 19:51:23 25 4
gpt4 key购买 nike

我正在将 excel 文件上传到 servlet 并尝试读取其内容。我能够上传文件并将其发送到 servlet。在 servlet 上,我能够将上传作为一个部分并正确读取其名称、文件大小和内容类型。但是我如何使用这个“部分”来读取文件呢?

我正在尝试使用 POI 读取 Excel 文件。它要求我传入一个文件,因此我传入了“部分”并将其转换为文件。在运行时它返回一个异常,告诉我不允许转换。

我没有看到 request.getFile 选项。有没有办法把那个部分变成一个文件?或者另一种请求 File 而不是 Part 的方法。请指教。

 <!-- HTML -->
<form method="post" action="MyServlet" enctype="multipart/form-data">
<input type="file" name="file" id="file">
<button type="submit">Send</button>
</form>

//Servlet
public class ExcelUploadServlet extends HttpServlet {
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {

Part filePart = request.getPart("file");

if (filePart != null) {
// These prints out the correct data
System.out.println(filePart.getName());
System.out.println(filePart.getSize());
System.out.println(filePart.getContentType());
}


//Need to read excel file as follows but how do I call the filepart here?
FileInputStream fis = new FileInputStream((File)filePart);//cast doesn't work
HSSFWorkbook wb = new HSSFWorkbook(fis);
HSSFSheet sheet = wb.getSheetAt(0);
for(Row row : sheet){
for (Cell cell : row){
System.out.println(cell.getStringCellValue());
}
}
}
}

最佳答案

也许使用 getInputStream:

HSSFWorkbook wb  = new HSSFWorkbook(filePart.getInputStream());

没试过但是在Part的接口(interface)里有这个方法。

关于java - 将零件转换为文件并读取 Excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36163647/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com