java上传excel文件|(急)java上传一个excel文件同时上传同目录下的apk和图片

java上传excel文件|(急)java上传一个excel文件同时上传同目录下的apk和图片的第1张示图

Ⅰ java 项目中,上传的excel打开时无法正常打开,显示乱码 ,怎样可以正常打开,

1、转换格式法就是将受损的Excel XP工作簿另存格式选为SYLK。如果可以打开受损文件,只是不能进行各种编辑和打印操作,那么建议首先尝试这种方法。2、直接修复法最新版本的Excel XP在“打开”窗口的“打开”按钮内有直接修复受损文件的“打开并修复”功能,这种方法适用于常规方法无法打开受损文件的情况。3、偷梁换柱法遇到无法打开受损的Excel XP文件时,也可以尝试使用Word来打开它。操作如下:(1)运行Word程序,选择需要打开的Excel文件;(2)如是首次运用Word程序打开Excel XP文件,可能会有“Microsoft Word无法导入指定的格式。这项功能目前尚未安装,是否现在安装?”的提示信息,此时可插入Microsoft Office安装盘进行安装;(3)按照Word程序的提示选择修复整个工作簿还是某个工作表;(4)先将文件中被损坏的数据删除,再将鼠标移动到表格中,并在菜单栏中依次执行“表格→转换→表格转换成文字”命令,选择制表符为文字分隔符,将表格内容转为文本内容,然后另存为纯文本格式文件;(5)运行Excel XP程序,打开刚保存的文本文件;(6)随后根据“文本导入向导”的提示就能顺利打开该文件了。 修复后的工作表与原工作表基本一样,不同的是表格中所有的公式都需重新设置,还有部分文字、数字格式丢失了。4、自动修复法 此法适用于Excel XP程序运行出现故障关闭程序或断电导致的文件受损。重新运行Excel XP,它会自动弹出“文档恢复”窗口,并在该窗口中列出已自动恢复的所有文件。用鼠标选择要保留的文件,并单击指定文件名旁的箭头,根据需要选择“打开”、“另存为”、“显示修复”。 在缺省状态下Excel XP是不会启用自动修复功能的,因此预先设置:首先在菜单栏中依次点击“工具→选项”命令,在设置框中单击“保存”标签,将“禁用自动恢复”复选框取消,然后选中“保存自动恢复信息,每隔X分钟”复选项,并输入指定的间隔频率,最后点击“确定”完成设置。 如果还没有自动弹出“文档恢复”窗口,可以尝试用手工的方法打开自动恢复的文件:依次执行“文件→打开”命令,利用“查找范围”框定位并打开Excel XP保存自动恢复文件的文件夹,要是不知道那个文件夹的位置,可以查看“自动恢复文件保存位置”框中的路径,接着在“文件类型”选择对话框中,选中“所有文件(*.*)”选项,并选择要恢复的文件,最后单击“打开”按钮,打开文件进行自动修复。5、工具修复法 如果上面的几种方法都不能修复文件,还可以借助专门用来修复受损Excel XP文件的“ExcelRecovery”。该软件会自动将修复程序加到Excel软件中,表现为在“文件”菜单下增添一项“Recovery”命令,它能自动以修复方式打开受损文件。

Ⅱ 在java中如何使用poi 将格式不规范的EXCEL文件上传,注意是格式不规范的

格式不规范?用poi读取单元格的内容,一般都是先让用户下载模版,这个excel模版是特定的,里面做了数据限制,比如日期的格式、数值的范围,格式不规范的是不允许的。这是第一个工作。第二个工作是导入时候的验证,比如第一行的第三列是2011年1月1日至2012年1月1日之间的日期,格式是yyyy-mm-dd,如果格式不对,程序终止,提示用户X行、Y列数值格式不对。只有这两个工作都做了才算完整不知道有没有回答你的问题。还是说你想问具体使用poi读取excel的代码?

Ⅲ java怎么读取上传的excel文件

java怎么读取上传的excel文件,解决办法:

添加jar文件,java导入导出Excel文件要引入jxl.jar包,最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。

jxl对Excel表格的认识,每个单元格的位置认为是由一个二维坐标(i,j)给定,其中i表示列,j表示行,并且从上到下递增,从左到右递增。

对于合并单元格的以最左,最上的单元格的坐标为准。如下图中t.xls,一班名单(0,0),陈茵(1,2),陈开先(1,6)。

Ⅳ Java上传excel,Excel数据或者格式会影响上传速度,Excel哪些因素会影响上传速度

如果只是文件上传,那么上传速度只是与文件大小有关,而与里面的数据是无关的。之所以2000条数据的Excel比3000条数据的Excel上传还慢,应该是你的上传过程除了上传文件,还做了数据解析(读取Excel)的功能,如果是这样的话,那么整个上传速度还与数据内容有关,虽然数据量小,但数据内容多,解析速度慢,这样也会导致你说的问题。如果想解决此问题,可以分步进行,上传时只上传文件,后台接收到文件再统一解析处理。这样既容易查找问题,又可以很好的解耦。

Ⅳ Java Excel上传失败,无日志

1、JavaExcel文件的本身漏洞导致了它有信息泄露的风险,所以对JavaExcel文件的上传做了一定的限制。2、解决方法。进入管理系统、安全管理,关闭文件上传校验的按钮。以上是JavaExcel上传失败,无日志的原因和解决办法。

Ⅵ (急)java上传一个excel文件,同时上传同目录下的apk和图片

大概 思路 :public static void readExcel(String pathname, PrintWriter out) { try { //打开文件 Workbook book = Workbook.getWorkbook(new File(pathname)) ; //取得第一个sheet Sheet sheet = book.getSheet(0); //取得行数 int rows = sheet.getRows(); for(int i = 0; i < rows; i++) { Cell [] cell = sheet.getRow(i); for(int j=0; j<cell.length; j++) { //getCell(列,行) //out.print(sheet.getCell(j, i).getContents()); //out.print(""); //同目录下的apk和图片 String apk_path=""; String image_path=""; File file = new File(pathname); if (file.isDirectory()) { File[] t = file.listFiles();//获取目录下面的所有图片 for (int x = 0,len=t.length; x < len; x++) { if(t[i].isFile()) { String filename=t[i].getName();//取出文件名 String index= filename.substring(filename.lastIndexOf("."),filename.length()); if(index=="apk") { apk_path="/../../"+filename;//具体路径 } if(index=="jgp"||(index=="gif")) { image_path+="/../../"+filename+"|";//具体路径 } } } } image_path=image_path.substring(0,image_path.lastIndexOf("|")); String sql="insert table x (id,image,apk)valus(?,?,?)"; ….. } out.println("<br/>"); } //关闭文件 book.close(); } catch (BiffException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }

Ⅶ 从excel表格读取数据用Java代码实现批量上传写入数据库

java操作Excel的一种方法:在开源世界中,有两套比较有影响的API可供使用,一个是POI,一个是jExcelAPI。其中jExcelAPI是一个韩国程序员的作品,虽然没有POI那样血统高贵,但是在使用过程中,感觉简单方便,对中文支持非常好,功能也比较强大。它的下载地址是: http://www.andykhan.com/jexcelapi/ 当前的最高版本是2.4。作者的网站上对它的特征有如下描述:● 支持Excel 95-2000的所有版本● 生成Excel 2000标准格式● 支持字体、数字、日期操作● 能够修饰单元格属性● 支持图像和图表搭建环境将下载后的文件解包,得到jxl.jar,放入classpath,安装就完成了。基本操作一、创建文件拟生成一个名为“测试数据.xls”的Excel文件,其中第一个工作表被命名为“第一页”,大致效果如下:代码(CreateXLS.java)://生成Excel的类import java.io.*;import jxl.*;import jxl.write.*;public class CreateXLS{public static void main(String args[]){try{//打开文件WritableWorkbook book=Workbook.createWorkbook(new File(“测试.xls”));//生成名为“第一页”的工作表,参数0表示这是第一页WritableSheet sheet=book.createSheet(“第一页”,0);//在Label对象的构造子中指名单元格位置是第一列第一行(0,0)//以及单元格内容为testLabel label=new Label(0,0,”test”);//将定义好的单元格添加到工作表中sheet.addCell(label);/*生成一个保存数字的单元格必须使用Number的完整包路径,否则有语法歧义单元格位置是第二列,第一行,值为789.123*/jxl.write.Number number = new jxl.write.Number(1,0,789.123);sheet.addCell(number);//写入数据并关闭文件book.write();book.close();}catch(Exception e){System.out.println(e);}}}编译执行后,会在当前位置产生一个Excel文件。三、读取文件以刚才我们创建的Excel文件为例,做一个简单的读取操作,程序代码如下://读取Excel的类import java.io.*;import jxl.*;public class ReadXLS{public static void main(String args[]){try{Workbook book=Workbook.getWorkbook(new File(“测试.xls”));//获得第一个工作表对象Sheet sheet=book.getSheet(0);//得到第一列第一行的单元格Cell cell1=sheet.getCell(0,0);String result=cell1.getContents();System.out.println(result);book.close();}catch(Exception e){System.out.println(e);}}}程序执行结果:test四、修改文件利用jExcelAPI可以修改已有的Excel文件,修改Excel文件的时候,除了打开文件的方式不同之外,其他操作和创建Excel是一样的。下面的例子是在我们已经生成的Excel文件中添加一个工作表://修改Excel的类,添加一个工作表import java.io.*;import jxl.*;import jxl.write.*;public class UpdateXLS{public static void main(String args[]){try{//Excel获得文件Workbook wb=Workbook.getWorkbook(new File(“测试.xls”));//打开一个文件的副本,并且指定数据写回到原文件WritableWorkbook book=Workbook.createWorkbook(new File(“测试.xls”),wb);//添加一个工作表WritableSheet sheet=book.createSheet(“第二页”,1);sheet.addCell(new Label(0,0,”第二页的测试数据”));book.write();book.close();}catch(Exception e){System.out.println(e);}}}执行结果如图:高级操作一、 数据格式化在Excel中不涉及复杂的数据类型,能够比较好的处理字串、数字和日期已经能够满足一般的应用。1、 字串格式化字符串的格式化涉及到的是字体、粗细、字号等元素,这些功能主要由WritableFont和WritableCellFormat类来负责。假设我们在生成一个含有字串的单元格时,使用如下语句,为方便叙述,我们为每一行命令加了编号:WritableFont font1=new WritableFont(WritableFont.TIMES,16,WritableFont.BOLD); ①WritableCellFormat format1=new WritableCellFormat(font1); ②Label label=new Label(0,0,”data 4 test”,format1) ③其中①指定了字串格式:字体为TIMES,字号16,加粗显示。WritableFont有非常丰富的构造子,供不同情况下使用,jExcelAPI的java-doc中有详细列表,这里不再列出。②处代码使用了WritableCellFormat类,这个类非常重要,通过它可以指定单元格的各种属性,后面的单元格格式化中会有更多描述。③处使用了Label类的构造子,指定了字串被赋予那种格式。在WritableCellFormat类中,还有一个很重要的方法是指定数据的对齐方式,比如针对我们上面的实例,可以指定://把水平对齐方式指定为居中format1.setAlignment(jxl.format.Alignment.CENTRE);//把垂直对齐方式指定为居中format1.setVerticalAlignment(jxl.format.VerticalAlignment.CENTRE);二、单元格操作Excel中很重要的一部分是对单元格的操作,比如行高、列宽、单元格合并等,所幸jExcelAPI提供了这些支持。这些操作相对比较简单,下面只介绍一下相关的API。1、 合并单元格WritableSheet.mergeCells(int m,int n,int p,int q);作用是从(m,n)到(p,q)的单元格全部合并,比如:WritableSheet sheet=book.createSheet(“第一页”,0);//合并第一列第一行到第六列第一行的所有单元格sheet.mergeCells(0,0,5,0);合并既可以是横向的,也可以是纵向的。合并后的单元格不能再次进行合并,否则会触发异常。2、 行高和列宽WritableSheet.setRowView(int i,int height);作用是指定第i+1行的高度,比如://将第一行的高度设为200sheet.setRowView(0,200); 能够获取到java里面那么再封装保存进数据库也就简单了,希望这样可以帮到你。

Ⅷ Java上传Excel表格

这不就是文件上传和下载嘛,在网上找个demo看看就可以了的,不是很难的。

Ⅸ java导入Excel文件,但是不上传到服务器,思路是怎么样的

common-fileupload是jakarta项目组开发的一个功能很强大的上传文件组件下面先介绍上传文件到服务器(多文件上传):import javax.servlet.*;import javax.servlet.http.*;import java.io.*;import java.util.*;import java.util.regex.*;import org.apache.commons.fileupload.*;public class upload extends HttpServlet { private static final String CONTENT_TYPE = "text/html; charset=GB2312"; //Process the HTTP Post request public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType(CONTENT_TYPE); PrintWriter out=response.getWriter(); try { DiskFileUpload fu = new DiskFileUpload(); // 设置允许用户上传文件大小,单位:字节,这里设为2m fu.setSizeMax(2*1024*1024); // 设置最多只允许在内存中存储的数据,单位:字节 fu.setSizeThreshold(4096); // 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录 fu.setRepositoryPath("c://windows//temp"); //开始读取上传信息 List fileItems = fu.parseRequest(request); // 依次处理每个上传的文件 Iterator iter = fileItems.iterator();//正则匹配,过滤路径取文件名 String regExp=".+////(.+)$";//过滤掉的文件类型String[] errorType={".exe",".com",".cgi",".asp"}; Pattern p = Pattern.compile(regExp); while (iter.hasNext()) { FileItem item = (FileItem)iter.next(); //忽略其他不是文件域的所有表单信息 if (!item.isFormField()) { String name = item.getName(); long size = item.getSize(); if((name==null||name.equals("")) && size==0) continue; Matcher m = p.matcher(name); boolean result = m.find(); if (result){ for (int temp=0;temp<ERRORTYPE.LENGTH;TEMP++){ if (m.group(1).endsWith(errorType[temp])){ throw new IOException(name+": wrong type"); } } try{//保存上传的文件到指定的目录//在下文中上传文件至数据库时,将对这里改写 item.write(new File("d://" + m.group(1)));out.print(name+" "+size+""); } catch(Exception e){ out.println(e); }} else { throw new IOException("fail to upload"); } } }} catch (IOException e){ out.println(e); } catch (FileUploadException e){ out.println(e); } }}现在介绍上传文件到服务器,下面只写出相关代码:以sql2000为例,表结构如下:字段名:name filecode类型: varchar image数据库插入代码为:PreparedStatement pstmt=conn.prepareStatement("insert into test values(?,?)");代码如下:。。。。。。try{ 这段代码如果不去掉,将一同写入到服务器中 //item.write(new File("d://" + m.group(1))); int byteread=0; //读取输入流,也就是上传的文件内容 InputStream inStream=item.getInputStream(); pstmt.setString(1,m.group(1)); pstmt.setBinaryStream(2,inStream,(int)size); pstmt.executeUpdate(); inStream.close();out.println(name+" "+size+" "); }。。。。。。这样就实现了上传文件至数据库。

Ⅹ JAVA Excel文件上传,上传后的Excel文件打开时报有不可读取的内容,怎么回事

这样接收,当然不行了,,,,,,使用smartupload等接收上传,或Struts接收上传的文件文件上传,要浏览器端编码的 <form action="UploadServlet" method="post" enctype="multipart/form-data">

未经允许不得转载:山九号 » java上传excel文件|(急)java上传一个excel文件同时上传同目录下的apk和图片

赞 (0)