
以下是使用java从excel表提取内容的程序 -
import javaioFile;import javaioFileInputStream;import orgapachetikametadataMetadata;import orgapachetikaparserParseContext;import orgapachetikaparsermicrosoftooxmlOOXMLParser;import orgapachetikasaxBodyContentHandler;public class ExtractContentFromExcel {
public static void main(String args[]) throws Exception {
// detecting the file type
BodyContentHandler handler = new BodyContentHandler();
Metadata metadata = new Metadata();
FileInputStream inputstream = new FileInputStream(new File("excelExamplexlsx"));
ParseContext pcontext = new ParseContext();
// OOXml parser
OOXMLParser msofficeparser = new OOXMLParser();
msofficeparserparse(inputstream, handler, metadata, pcontext);
Systemoutprintln("Contents of the document:" + handlertoString());
Systemoutprintln("Metadata of the document:");
String[] metadataNames = metadatanames();
for (String name : metadataNames) {
Systemoutprintln(name + ": " + metadataget(name));
}
}}Java
原ODF文件:excelExamplexlsx 的内容如下 -
执行上面示例代码,得到以下结果 -
SLF4J: Class path contains multiple SLF4J bindings
SLF4J: Found binding in [jar:file:/F:/worksp/javaexamples/libs/tika_libs/tika-app-116jar!/org/slf4j/impl/StaticLoggerBinderclass]
SLF4J: Found binding in [jar:file:/F:/worksp/javaexamples/libs/tika_libs/tika-server-116jar!/org/slf4j/impl/StaticLoggerBinderclass]
SLF4J: See >
需要对Excel中的数据进行读取 *** 作。一、在开始进行Java读写Excel前,需要先下一个jxl的jar包,这个jar包中提供了相关读写Excel的方法,将jxljar放到classpath下或者在工程的buildpath中添加jxljar后,便可以开始Java读写Excel了。二、Java读取Excel数据,首先,创建一个xls文件(如:jxltestxls),然后在文件中添加一些数据,Excel文件创建完成后,便可以开始写代码读取了。三、进行一个小小的扩展,读取一个目录下的所有Excel文件,读取的每个Excel文件的数据写入到不同的txt中。四、生成EXCEL需要手动写查询语句把ORACLE数据库中的数据查询出来,再通过 *** 作写到EXCEL文件里面。通过EXCEL把数据读取到ORACLE,同样需要去读取EXCEL工作薄里面的内容,再通过INSERT语句去插入数据库 *** 作。
<%@ page contentType="text/html; charset=gb2312"%>
<%@ page import="javaio,jxl,jxlwrite,jxlwrite,jxlformat"%>
<%@page import="javasql"%>
<%@page import="javautil"%>
<%@ page import="javaawt"%>
<%@ page import="orgapachecommonsfileupload"%>
<%@ page import="comjspsmartSmartFile"%>
<jsp:useBean id="common" class="comteachdbcommonMethod" scope="page">
</jsp:useBean>
<%//实现EXCEL文件上传,上传之后把EXCEL文件中的内容导入SQL server数据库中
//用smartUpload组件把EXCEL文件上传
comjspsmartSmartUpload smartUpload = new comjspsmartSmartUpload(); //初始化smartUPload
smartUploadinitialize(pageContext);
smartUploadservice(request, response);
smartUploadupload();
comjspsmartSmartFile file = smartUploadgetFiles()getFile(0); //得到上页输入的文件
//取中文表单参数
String newFileName = "testxls";
//改名上传
filesaveAs("excel/" + newFileName, smartUploadSAVE_VIRTUAL);
%>
<%!public String codeToString(String str) {//处理中文字符串的函数
String s = str;
try {
byte tempB[] = sgetBytes("ISO-8859-1");
s = new String(tempB);
return s;
} catch (Exception e) {
return s;
}
}
%>
<html>
<head>
<title></title>
</head>
<body>
<%//得到前页传过来的参数
String courseId=sessiongetAttribute("courseId")toString();
%>
<%String path = requestgetRealPath("\\") + "excel" + "\\"
+ "testxls";//Excel文件URL
InputStream is = new FileInputStream(path);//写入到FileInputStream
jxlWorkbook wb = WorkbookgetWorkbook(is); //得到工作薄
jxlSheet st = wbgetSheet(0);//得到工作薄中的第一个工作表
int rsRows = stgetRows(); //得到excel的总行数
for (int i = 1; i < rsRows; i++) {
Cell cell0 = stgetCell(0, i);//得到工作表的第一个单元格,即A1
Cell cell1 = stgetCell(1, i);//得到工作表的第二个单元格,即A1
try {
String content0 = cell0getContents();//getContents()将Cell中的字符转为字符串
int content1 = IntegerparseInt(cell1getContents()); //得到条形码
//存入数据库
String sql = "insert into sy_score(courseId,scoreStudentName,score)"
+ "values("
+ courseId
+ ",'"
+ content0
+ "',"
+ content1+")";
Systemoutprintln(sql);
commonDel_Insert(sql); //执行SQL语句
} catch (Exception e) {
//如果EXCEL文件中输入的数据有错,则跳过此行数据
sessionsetAttribute("message", "有错误,不能导入,请检查您的excel文件");
continue;
}
}
wbclose();//关闭工作薄
isclose();//关闭输入流
responsesendRedirect("insert_donejsp"); //转到成功页
%>
</body>
</html>
这是jsp 的
需要下载 jxl包
还有struts的 需要的话也可以给你
以上就是关于如何使用java从excel表提取内容全部的内容,包括:如何使用java从excel表提取内容、Java怎么获取Excel中的sheet页数量和名称、浅谈JAVA读写Excel的几种途径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)