一尘不染

如何在客户端读取Excel文件的内容?

jsp

从JSP页面,我需要浏览excel文件,并且在系统上选择文件后,我需要阅读excel文件的内容并填写表格。

目前,我已经尝试使用以下代码,但是它仅在IE中有效,并且对ActiveXObject的IE互联网选项进行了一些更改。在其他浏览器中不起作用。

<script>
    function mytest2() {
        var Excel;
        Excel = new ActiveXObject("Excel.Application"); 
        Excel.Visible = false;
        form1.my_textarea2.value = Excel.Workbooks.Open("C:/Documents and Settings/isadmin/Desktop/test.xlsx").ActiveSheet.Cells(1,1).Value;
        Excel.Quit();
    }
</script>

请提出一些解决方案,以使其在所有浏览器中均可使用。


阅读 292

收藏
2020-06-08

共1个答案

一尘不染

通常无法在浏览器中通过JavaScript读写任何文件。因此,没有任何其他插件,您将无法从浏览器读取/写入Excel文件。Excel的ActiveX对象允许您执行此操作,但是只有IE支持ActiveX对象。

可能还有其他浏览器的其他插件,但是我不知道。

首先,您为什么要这样做?你可以举一个用例吗?也许有比您尝试的更好的选择。

更新

您将必须将excel文件传递到服务器,并在服务器端(例如,在servlet中)读取excel。

您将必须<input type='file'>在JSP中以多部分形式使用
<form name="myForm" action="myServlet" enctype="multipart/form-data" method="post">

在服务器端,您可能要使用Apache Commons File
Upload

拥有文件(或其上的流)后,可以使用例如Apache POI HSSF /
XSSF
解析文件,然后将数据更新到数据库或将其传递回JSP。

2020-06-08