导入,读取excel出现的问题

java.io.FileNotFoundException: http:\localhost:8063\upload\excel\20170506\1494041456559_37.xls (文件名、目录名或卷标语法不正确。)

导入excel,读取excel文件的时候,出现路上错误。
1: http:\localhost:8063 这个是我的访问路径。
2:后面的upload\excel\20170506\ 是我在java 代码里加的路径
3:1494041456559_37.xls 是文件名。
不知道如何解决。谢谢了。

1个回答

首先,文件路径有问题,文件路径里面不应该有http的URL路径的。
其次,如果是web项目中访问文件,通常是项目部署根目录还是去文件路径的。
可以在servlet的init方法里String path = getServletContext().getRealPath("/");或者其他方法获取到项目部署目录的。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
c#读取excel数据后筛选数据
C#读取Excel文件,通过OleDb连接,把excel文件作为数据源来读取,如何实现把excel里的标题列导入到combobox里,选中该combobox里的值后,该列的数据出现在另外一个bombobox里,然后通过该条件,查找出筛选条件那一行的数据,最好有代码,谢谢!
java 导入excel文件的工具有哪些?
项目上要用excel获取接口数据,读取excel文件,问题是: 1.excel文件的格式不定,不同文件包含不同列,且不固定(包含合并行,图片 列等) 2. excel文件的数据会很大,1万行以上. 我的问题是,java导入excel文件 只能是JOI和JXL吗? 有没有什么工具直接读取excel文件 ,然后返回java对象的(比如Map或LIst)?
JavaScript读取Excel表格的问题
function importXLS(field){ var fullpath = window.document.location.pathname; var pos1 = fullpath.indexOf("/"); var fileName1 = fullpath.substring(pos1+1); var pos2 = fileName1.lastIndexOf("/"); var fileName = fileName1.substring(0,pos2) + "E:/IO.xlsx";// xls文件的路径 objCon = new ActiveXObject("ADODB.Connection"); objCon.Provider = "Microsoft.Jet.OLEDB.4.0"; objCon.ConnectionString = "Data Source=" + fileName + ";Extended Properties=Excel 8.0;"; objCon.CursorLocation = 1; objCon.Open; var strQuery; //Get the SheetName var strSheetName = "Sheet1$"; //要导入的sheet的名字 var rsTemp = new ActiveXObject("ADODB.Recordset"); rsTemp = objCon.OpenSchema(20); if(!rsTemp.EOF)strSheetName = rsTemp.Fields("Table_Name").Value; rsTemp = null; rsExcel = new ActiveXObject("ADODB.Recordset"); strQuery = "SELECT * FROM [" + strSheetName + "]"; rsExcel.ActiveConnection = objCon; rsExcel.Open(strQuery); var res = []; var temp; while(!rsExcel.EOF){ temp = rsExcel.Fields(field).value; res.push(temp); rsExcel.MoveNext; } // Close the connection and dispose the file objCon.Close; objCon =null; rsExcel = null; return res; } ** 以上是加载Excel数据的函数,下面是调用过程:** var xData = importXLS(1); var yData = importXLS(2); var xyData = []; var i; //转化为散点图需要的二维数组系列 for(i=0;i<xData.length;i++){ xyData.push(new Array(xData[i],yData[i])); } **目的是将excel中的前两列作为一个二维数组读取。但是调用过程出错,各位大神帮忙看一下importXLS函数有什么问题吗?或者下面这几句代码对本地电脑有什么要求?** objCon = new ActiveXObject("ADODB.Connection"); objCon.Provider = "Microsoft.Jet.OLEDB.4.0"; objCon.ConnectionString = "Data Source=" + fileName + ";Extended Properties=Excel 8.0;"; objCon.CursorLocation = 1; objCon.Open; 先在此谢过了!!![图片说明](https://img-ask.csdn.net/upload/201710/28/1509198168_737188.png)
java POI 读取excel文件报错误Invalid header signature
java POI 读取excel文件报错误Invalid header signature 查找了资料说是读取的是非标准的excel文件,我用文本编辑器打开文件是把html的table转换成的excel文件 ,请问你这个怎么解决呢?(不需要打开另存为的方式来解决哦,另存为excel文件就可以导入)
java 导入excel ,jar 包冲突
XSSFWorkbook 读取 07 excel 的对象, 在poi3.1 中是没有的, 进行文件导入的二次开发,以前项目只导入 03excel,用poi 3.1,现在 要导入07excel,于是又添加了一个poi 3.7 jar,于是 问题来了,ctrl shit o 只提示 低版本(poi3.1)中的 类,(poi3.1 不能删除)我该怎么办 ?大虾
Android Studio 如何读取Excel某一单元格的内容,并赋值给一个TextView?
各位大神: 请教啦。 我已经将表导入到app/src/main/assets文件夹里面。 下一步的目的:点击Button按钮,就会读取excel表里的第二行第三列的数据, 并将这个数据赋值给Textview显示出来。 万分感谢。 PS.这个问题困扰我三天了。查了很多资料,都没做好。
使用poi读取 excel 2007 导入jar包 出现65535问题,把他转移到as上 用MultiDex分包
使用poi读取 excel 2007 导入jar包 出现65535问题,把他转移到as上 用MultiDex分以后可以编译 可生成apk,出现如下错误 。找不到我导入的类。小弟新人。有没有大牛帮小弟解答啊。万分感谢 09-20 18:01:36.329 18141-18141/com.symbol.emdksample D/dalvikvm: GC_FOR_ALLOC freed 314K, 10% free 4528K/4996K, paused 22ms, total 22ms 09-20 18:01:36.489 18141-18141/com.symbol.emdksample W/dalvikvm: VFY: unable to find class referenced in signature (Ljavax/xml/stream/XMLStreamReader;) 09-20 18:01:36.489 18141-18141/com.symbol.emdksample W/dalvikvm: VFY: unable to find class referenced in signature (Ljavax/xml/stream/XMLStreamReader;) 09-20 18:01:36.489 18141-18141/com.symbol.emdksample W/dalvikvm: VFY: unable to find class referenced in signature (Ljavax/xml/stream/XMLStreamReader;) 09-20 18:01:36.519 18141-18141/com.symbol.emdksample D/dalvikvm: GC_FOR_ALLOC freed 411K, 10% free 4672K/5152K, paused 25ms, total 25ms 09-20 18:01:36.519 18141-18141/com.symbol.emdksample W/dalvikvm: VFY: unable to find class referenced in signature (Ljavax/xml/stream/XMLStreamReader;) 09-20 18:01:36.529 18141-18141/com.symbol.emdksample E/dalvikvm: Could not find class 'javax.xml.stream.XMLStreamReader', referenced from method org.apache.xmlbeans.XmlBeans.nodeToXmlStreamReader 09-20 18:01:36.529 18141-18141/com.symbol.emdksample W/dalvikvm: VFY: unable to resolve check-cast 234 (Ljavax/xml/stream/XMLStreamReader;) in Lorg/apache/xmlbeans/XmlBeans; 09-20 18:01:36.529 18141-18141/com.symbol.emdksample D/dalvikvm: VFY: replacing opcode 0x1f at 0x000d 09-20 18:01:36.529 18141-18141/com.symbol.emdksample W/dalvikvm: VFY: unable to find class referenced in signature (Ljavax/xml/stream/XMLStreamReader;) 09-20 18:01:36.539 18141-18141/com.symbol.emdksample W/dalvikvm: Unable to match class for part: 'Ljavax/xml/stream/XMLStreamReader;' 09-20 18:01:36.539 18141-18141/com.symbol.emdksample W/dalvikvm: Exception Ljava/lang/NoClassDefFoundError; thrown while initializing Lorg/apache/xmlbeans/XmlBeans; 09-20 18:01:36.549 18141-18141/com.symbol.emdksample E/ExtraVoiceDBManager: exception org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:62) at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:403) at org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:155) at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:190) at com.dmfang.longchampscan.ExtraVoiceDBManager.readExcelToDB(ExtraVoiceDBManager.java:140) at com.dmfang.longchampscan.ExtraVoiceDBManager.<init>(ExtraVoiceDBManager.java:50) at com.symbol.emdksample.MainActivity$1.onClick(MainActivity.java:156) at android.view.View.performClick(View.java:4438) at android.view.View$PerformClick.run(View.java:18422) at android.os.Handler.handleCallback(Handler.java:733) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:136) at android.app.ActivityThread.main(ActivityThread.java:5002) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:515) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601) at dalvik.system.NativeStart.main(Native Method) Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.constructNative(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:60) at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:403)  at org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:155)  at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:190)  at com.dmfang.longchampscan.ExtraVoiceDBManager.readExcelToDB(ExtraVoiceDBManager.java:140)  at com.dmfang.longchampscan.ExtraVoiceDBManager.<init>(ExtraVoiceDBManager.java:50)  at com.symbol.emdksample.MainActivity$1.onClick(MainActivity.java:156)  at android.view.View.performClick(View.java:4438)  at android.view.View$PerformClick.run(View.java:18422)  at android.os.Handler.handleCallback(Handler.java:733)  at android.os.Handler.dispatchMessage(Handler.java:95)  at android.os.Looper.loop(Looper.java:136)  at android.app.ActivityThread.main(ActivityThread.java:5002)  at java.lang.reflect.Method.invokeNative(Native Method)  at java.lang.reflect.Method.invoke(Method.java:515)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)  at dalvik.system.NativeStart.main(Native Method)  Caused by: java.lang.NoClassDefFoundError: javax/xml/stream/XMLStreamReader at java.lang.Class.getDeclaredConstructorOrMethod(Native Method) at java.lang.Class.getPublicConstructorOrMethodRecursive(Class.java:480) at java.lang.Class.getConstructorOrMethod(Class.java:468) at java.lang.Class.getMethod(Class.java:857) at org.apache.xmlbeans.XmlBeans.buildMethod(XmlBeans.java:174) at org.apache.xmlbeans.XmlBeans.buildNodeMethod(XmlBeans.java:195) at org.apache.xmlbeans.XmlBeans.buildNodeToXmlStreamMethod(XmlBeans.java:242) at org.apache.xmlbeans.XmlBeans.<clinit>(XmlBeans.java:133) at org.openxmlformats.schemas.drawingml.x2006.main.ThemeDocument$Factory.parse(Unknown Source) at org.apache.poi.xssf.model.ThemesTable.<init>(ThemesTable.java:44) at java.lang.reflect.Constructor.constructNative(Native Method)  at java.lang.reflect.Constructor.newInstance(Constructor.java:423)  at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:60)  at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:403)  at org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:155)  at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:190)  at com.dmfang.longchampscan.ExtraVoiceDBManager.readExcelToDB(ExtraVoiceDBManager.java:140)  at com.dmfang.longchampscan.ExtraVoiceDBManager.<init>(ExtraVoiceDBManager.java:50)  at com.symbol.emdksample.MainActivity$1.onClick(MainActivity.java:156)  at android.view.View.performClick(View.java:4438)  at android.view.View$PerformClick.run(View.java:18422)  at android.os.Handler.handleCallback(Handler.java:733)  at android.os.Handler.dispatchMessage(Handler.java:95)  at android.os.Looper.loop(Looper.java:136)  at android.app.ActivityThread.main(ActivityThread.java:5002)  at java.lang.reflect.Method.invokeNative(Native Method)  at java.lang.reflect.Method.invoke(Method.java:515)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)  at dalvik.system.NativeStart.main(Native Method)  Caused by: java.lang.ClassNotFoundException: Didn't find class "javax.xml.stream.XMLStreamReader" on path: DexPathList[[zip file "/system/framework/com.symbol.emdk.jar", zip file "/data/app/com.symbol.emdksample-2.apk", zip file "/data/data/com.symbol.emdksample/code_cache/secondary-dexes/com.symbol.emdksample-2.apk.classes2.zip", zip file "/data/data/com.symbol.emdksample/code_cache/secondary-dexes/com.symbol.emdksample-2.apk.classes3.zip", zip file "/data/data/com.symbol.emdksample/code_cache/secondary-dexes/com.symbol.emdksample-2.apk.classes4.zip", zip file "/data/data/com.symbol.emdksample/code_cache/secondary-dexes/com.symbol.emdksample-2.apk.classes5.zip", zip file "/data/data/com.symbol.emdksample/code_cache/secondary-dexes/com.symbol.emdksample-2.apk.classes6.zip"],nativeLibraryDirectories=[/data/app-lib/com.symbol.emdksample-2, /vendor/lib, /system/lib]] at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:497) at java.lang.ClassLoader.loadClass(ClassLoader.java:457) at java.lang.Class.getDeclaredConstructorOrMethod(Native Method)  at java.lang.Class.getPublicConstructorOrMethodRecursive(Class.java:480)  at java.lang.Class.getConstructorOrMethod(Class.java:468)  at java.lang.Class.getMethod(Class.java:857)  at org.apache.xmlbeans.XmlBeans.buildMethod(XmlBeans.java:174)  at org.apache.xmlbeans.XmlBeans.buildNodeMethod(XmlBeans.java:195)  at org.apache.xmlbeans.XmlBeans.buildNodeToXmlStreamMethod(XmlBeans.java:242)  at org.apache.xmlbeans.XmlBeans.<clinit>(XmlBeans.java:133)  at org.openxmlformats.schemas.drawingml.x2006.main.ThemeDocument$Factory.parse(Unknown Source)  at org.apache.poi.xssf.model.ThemesTable.<init>(ThemesTable.java:44)  at java.lang.reflect.Constructor.constructNative(Native Method)  at java.lang.reflect.Constructor.newInstance(Constructor.java:423)  at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:60)  at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:403)  at org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:155)  at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:190)  at com.dmfang.longchampscan.ExtraVoiceDBManager.readExcelToDB(ExtraVoiceDBManager.java:140)  at com.dmfang.longchampscan.ExtraVoiceDBManager.<init>(ExtraVoiceDBManager.java:50)  at com.symbol.emdksample.MainActivity$1.onClick(MainActivity.java:156)  at android.view.View.performClick(View.java:4438)  at android.view.View$PerformClick.run(View.java:18422)  at android.os.Handler.handleCallback(Handler.java:733)  at android.os.Handler.dispatchMessage(Handler.java:95)  at android.os.Looper.loop(Looper.java:136)  at android.app.ActivityThread.main(ActivityThread.java:5002)  at java.lang.reflect.Method.invokeNative(Native Method)  at java.lang.reflect.Method.invoke(Method.java:515)  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)  at dalvik.system.NativeStart.main(Native Method) 
页面<img>标签显示的图片,请问用java可以导入到excel中么?怎么导入?
oracle存储图片的类型是blob,这个是可以在页面读取出来的,但是怎么导入到excel中呢?
jxl读取excel的一个搞脑子的问题
前几天被叫去看一个老系统,做好大概几个月了。 <br /> <br />说是excel导入出了问题,有一批数据就是不能导入。而且也是excel格式的,看不出问题。 <br /> <br />然后我过去本机跑了一下,报的不是业务异常,是jxl读文件的异常,如下: <br /> <br /><pre name="code" class="java">jxl.read.biff.BiffException: Unable to recognize OLE stream at jxl.read.biff.CompoundFile.&lt;init&gt;(CompoundFile.java:116) at jxl.read.biff.File.&lt;init&gt;(File.java:127) at jxl.Workbook.getWorkbook(Workbook.java:221) at jxl.Workbook.getWorkbook(Workbook.java:198) </pre> <br /> <br />然后去查了下jxl的源代码,这里抛出的异常。 <br /><pre name="code" class="java">for (int i = 0; i &lt; IDENTIFIER.length; i++) { if (data[i] != IDENTIFIER[i]) { throw new BiffException(BiffException.unrecognizedOLEFile); } } </pre> <br /> <br />说明咱导入的这个excel不是jxl认定的标准OLE file,真是见鬼了。。打开也好好的是excel。怎么就不是标准的OLE file? <br /> <br />接着查这批不能导入的excel到底有什么问题,查来查去后来无意中用ultraEdit打开了一下,结果发现居然不是2进制文件,而是一个网页文件。马上打开另外一个可以导入的xls文件,发现直接出来的是2进制。继续打开前一个不能导入的excel文件仔细查看,结果在选择另存为的时候跳出来是这个样子: <br /><img src="http://photos.album.mop.com/c03/69/6f/72/726f69778f/md_1217185480508.jpg" /> <br />原来发现本质是个网页文件。。 <br /> <br />然后再尝试不加引号保存,发现保存完图标也变了。文件名变成demo.xls.htm  这下基本确定这批excel文件其实都是网页文件,解决办法我就是先让客户全部另存一下,选择ms excel工作簿保存再导入。 <br /> <br />然后客户需求来了,问我为啥要另存一下,不是数据都在的么? <br /> <br />查了半天资料,解决不掉这个囧问题。 总结了下面几点: <br /> <br />1.加引号“demo.xls” 和不加引号保存成网页文件为什么结果不同?如果加了引号但是不加".xls"的话还是保存为网页格式,并不会批个xls的外壳。 <br /> <br />2.jxl没有能力辨别这样的xls文件。。只能抛BiffException。。以后各位兄弟操作excel的时候如果抛了BiffException异常,各位可以看下是不是这个原因。。 <br /> <br />3.有兄弟遇见过这个囧问题么?有啥解决办法么? 去客户那里了解了一下,他们这些excel是让另外一个公司做的,在网页上自动生成下载的,以后让他们一个一个另存估计要骂娘。 <br /> <br /><br /><strong>问题补充</strong><br />要说容错性的话,除了上面碰到的这个情况。其他的抛不能读取的情况我貌似还没见到过。<br /><br />如果上面的类型转换不能通过java来解决的话,只有让用户自己去另存这个唯一的办法了?sigh。。。<br /><br /><br /><br /><strong>问题补充:</strong><br />我囧。。。 <br /> <br />半年前的东西怎么出现到这里来了。。 <br /> <br />最后我是用Lucas Lee的做法解决的,先判断是不是OLE格式,然后如果是的话就走jxl路线,如果不是 就当处理html一样按文本方式读入解决。。很累人。。
Java从excel读取数据时,能够自己选择excel文件,不用在代码中将文件目录写死!
项目是进行单机版和网络版的数据对比,需要将单机版导出来的数据(excel表格,固定格式)导入网络版进行对比,网络版在导入数据时能提示选择导入的excel文件,不用在Java代码中将要读取数据的excel表格的目录写死。谢谢您的帮助!
java读取excel时法文出现乱码
我需要用程序读取excel中的数据,并将其导入到数据库中, 但是excel中出现了如 Der Alpenjäger 中"ä"这样的法文字符,导致用jxl获取值 Workbook rwb = Workbook.getWorkbook(new File(attachmentFilePath), workbookSettings); Sheet sheet = rwb.getSheet(0); Cell[] cell = sheet.getRow(0); String str = cell[0].getContents(); 后得到的是乱码,进而写入mysql也是乱码 我mysql用的编码是utf8,直接在mysql中写入"ä"不会出现问题; 我用Eclipse开发,执行Sql="insert into table (name) values('ä')"也没用问题; 各位大大,帮忙想想办法啦 [b]问题补充:[/b] 以上几位说的我都试过了 还是不行啊 excel是用的什么编码啊? [b]问题补充:[/b] new String(str.getBytes("GBK"),"utf-8") workbookSettings.setEncoding("ISO-8859-1"); 试过了 还是乱码 [b]问题补充:[/b] workbookSettings.setEncoding("ISO-8859-1"); new String(str.getBytes("ISO-8859-1"),"utf-8") 我就是这么设置的 可是不行啊 excel是用的utf-16编码? 难道要new String(str.getBytes("utf-16"),"utf-8") ? [b]问题补充:[/b] 试了无数种编码转换 竟然都不行 wjm251说的方法我再试试
导入excel问题
``` function ajaxFileUpload(){ $.ajaxFileUpload({ url:'importExcel', fileElementId:'fileUp', dataType: 'xml', success: function (data, status) { alert('--'); }, error: function (data, status, e) { alert('=='); } }); }; ``` 后台已经接收到前台传的文件 现在该怎样把后台得到的文件读取为excel? 后台是struts2 后台现在什么代码都没有 该怎样去读取 求个有源码的例子
C++ builder 10 range读取excel导入数据库
C++ builder想利用ole操作将excel的内容导入数据库 已经可以实现一个单元格一个单元格取值然后写入数据库 可是如果大数据的话这样效率很低 所以就想利用range操作将区域内的值读取入二维数组 可是不知道怎样代码实现 range需要一个variant的二维数组去取值 可是菜鸟对variant型二维数组一脸懵逼 忘各位老师解答 求妖哥赐教 乱七八糟 大概按照意思打了几行代码 忘各位指点迷津 Variant excelApp = CreateOleObject("Excel.Application"); String xlsFile = L"E:\\ha.xlsx"; excelApp.OlePropertyGet("Workbooks").OleFunction("open", WideString(xlsFile)); excelApp.OlePropertySet("Visible", True); Variant workbook = excelApp.OlePropertyGet("ActiveWorkBook"); Variant sheet = workbook.OlePropertyGet("ActiveSheet"); String rangeText = L"A1:E17"; Variant range = sheet.OlePropertyGet("Range", WideString(rangeText)); //range.PG("Rows",1).PG("Value", 1234); int col = range.OlePropertyGet("Columns").OlePropertyGet("Count");//获取所选range的列数 int row = range.OlePropertyGet("Rows").OlePropertyGet("Count"); //获得所选range的行数 SAFEARRAYBOUND sab[2]; //定义一个二维数组 sab[0].cElements = col; sab[0].lLbound = 0; sab[1].cElements = row; sab[1].lLbound = 0; SAFEARRAY* psa = SafeArrayCreate( VT_UI1, sizeof(sab)/sizeof(SAFEARRAYBOUND), sab); Variant varChunk; varChunk.vt = VT_ARRAY|VT_UI1; //数组类型 varChunk.parray = psa; varChunk=range.PG("Value"); psa=varChunk.parray; BYTE *buf; SafeArrayAccessData(psa, (void **)&buf);//安全指针 SafeArrayUnaccessData(psa); workbook.PR("Close"); excelApp.FN("Quit"); varinat型二维数组怎么定义 怎么把range的值赋给该数组 赋完该如何取值??
C#导入Excel时,如何获取Excel表格中的分组信息
我需要导入一个Excel报表,报表中已经对行数据进行了分组,现要将这样的一个Excel文件通过C#程序导入到数据库中,为了之后的使用,需要读取到分组信息,以便后续处理。
POI 读取Excel文件,导致内存突然增大
## 1、目标 主要实现 替换excel2003与excel2007文件中某些字符,excel文件大概15M,并且包含一些图片。首先需要读取一个excel文件映射表(不包含图片),将该映射表内容读入Map中,然后再读取待替换excel文件,并根据Map中内容替换excel文件中字符串,最后输出处理好的EXCEL文件(包含图片). ## 2、问题描述 1、本机计算机内存24G,JDK8, 在eclispe环境中运行时,可以读取并解析EXCEL映射文件,并按照Map替换目标excel文件中字符串。 2、 但是我用exe4j将项目jar打包成exe文件,在内存为8G的测试计算机上运行时,读取excel映射文件时就会导致内存占用很大,内存占用增长速度很快,瞬间导致计算机内存占满。 3、 exe4j打包使用了本地安装解压的jre包,没有把jdk打包进去。 4、 在本机(24G内存)用eclipse运行和用exe运行时,用jconsole监测了一下,读取excel映射文件时内存占用率不是很高,大概400M左右,最高不会超过1G内存。excel映射文件只有200kb左右。 ## 3 问题 请问这中情况是否与exe4j只打包了jre有关,能否用我本地安装的jre库打包到exe文件中。 为什么在我本机内存不会占满,而在其它测试机上内存过分的高。这个可能与excel文件解析的方法有关,但我不是很明白不同计算机测试效果差别这么大。 ## 4 解析excel相关代码如下 ``` //存储映射表Map,WeakHashMap <String, String> valueMap = new WeakHashMap<>() valueMap.clear(); File savedFile = new File(path); InputStream ins = null; try { ins = new FileInputStream(savedFile); } catch (FileNotFoundException e) { throw new DefException("文件"+path+"不存在",e); } Workbook wb = null; try { wb = WorkbookFactory.create(ins); } catch (InvalidFormatException e) { throw new DefException("文件"+path+"格式错误",e); } catch (IOException e) { throw new DefException("文件"+path+"导入异常",e); } //HSSFWorkbook wb = new HSSFWorkbook(ins); Sheet sheet = null; int sheetNumber = wb.getNumberOfSheets(); for (int i = 0; i < sheetNumber; i++) { sheet = wb.getSheetAt(i); //行数 int lastRowNum = sheet.getPhysicalNumberOfRows(); //读取body for (int rowNum = 1; rowNum < lastRowNum; rowNum++) { //获得当前行 Row row = sheet.getRow(rowNum); //index序列号从0开始,跳过首行,取1 if (row == null) { continue; } Cell oldm = row.getCell(1); if (oldm == null) { continue; } else { oldm.setCellType(HSSFCell.CELL_TYPE_STRING); } Cell newm = row.getCell(3); if (newm == null) { continue; } else { newm.setCellType(HSSFCell.CELL_TYPE_STRING); } String oldValue = oldm.getStringCellValue().toString(); String newValue = newm.getStringCellValue().toString(); if (!"".equals(oldValue) && !"".equals(newValue)) { valueMap.put(oldValue, newValue); } } } try { ins.close(); } catch (IOException e) { throw new DefException("关闭映射文件"+path+"错误",e); } ```
java poi的excel导入数据读取
在使用poi时候,如何将获取的row转换成列,![图片说明](https://img-ask.csdn.net/upload/201507/14/1436851296_212546.png),现在excel模板格式就是类似这种,以行作为一个对象的第一个字段,列作为一个对象。 就比如 第一行作为对象第一个属性值的内容,第二行作为属性第二个属性值的内容,以此类推。
Android开发中用POI包读取2007版Excel文档的问题
Android开发中,用POI包读取2007版Excel文档,创建new XSSFWorkbook对象时代码无法执行,没有异常,没有报错。如果去掉创建XSSF对象的语句则可以继续执行。已经查不出什么问题了,求助啊~~~ 代码如图:![图片说明](https://img-ask.csdn.net/upload/201701/16/1484572671_353916.jpg) 导入的jar包如图:![图片说明](https://img-ask.csdn.net/upload/201701/16/1484572584_55107.jpg) import的类如图:![图片说明](https://img-ask.csdn.net/upload/201701/16/1484572637_919961.jpg)
java 读取 Excel (20W条数据)并导入到 数据库解决方案
现在做个项目,要把 Excel 通过 java web 导入到数据库,在 action 里 java 内存泄漏 (20 W 条数据)。于是想到把文件上传到服务器,然后 java 直接连接 Excel 本身数据库读取数据 insert 到 SQLSERVER 数据库 不知可行不,有没有更好的建议
POI读取excel的时候,空值不读取的问题,求大神指导
``` private void loadUserInfo(String str2,String filename2) { String uploadFileFileName=str2+filename2; Logger logger = LoggerUtil.getLoggerByName(str2); // 读取刚才上传文件,确保路径相同 // String uploadFileFileName=str1+filename1; System.out.println("11212" + uploadFileFileName); // System.out.println(str1+"+"+filename1); String directory = "/upload"; String targetDirectory = ServletActionContext.getServletContext() .getRealPath(directory); File target = new File(targetDirectory, uploadFileFileName); Workbook wb = null; try { FileInputStream fi = new FileInputStream(target); if (uploadFileFileName.toLowerCase().endsWith("xls")) { wb = new HSSFWorkbook(fi); } else if (uploadFileFileName.toLowerCase().endsWith("xlsx")) { wb = new XSSFWorkbook(fi); } Sheet sheet = wb.getSheetAt(0); int rowNum = sheet.getLastRowNum() + 1; lists = new ArrayList<Muju>(); // i 从1开始表示第一行为标题 不包含在数据中 Muju muju = null; for (int i = 1; i < rowNum; i++) { muju = new Muju(); Row row = sheet.getRow(i); int cellNum = row.getLastCellNum(); for (int j = 0; j < cellNum; j++) { Cell cell = row.getCell(j); String cellValue = null; switch (cell.getCellType()) { // 判断excel单元格内容的格式,并对其进行转换,以便插入数据库 case 0: String s = String.valueOf(cell.getNumericCellValue()); if (s.endsWith(".0")) { cellValue = String.valueOf((int) cell .getNumericCellValue()); } else cellValue = String.valueOf(cell .getNumericCellValue()); break; case 1: cellValue = cell.getStringCellValue();System.out.println("kanka22n="+cellValue); break; case 2: cellValue = String.valueOf(cell.getDateCellValue()); break; case 3: System.out.println("asasas"); cellValue = ""; break; case 4: cellValue = String.valueOf(cell.getBooleanCellValue()); break; case 5: cellValue = String.valueOf(cell.getErrorCellValue()); break; } System.out.println("kanka33n="+cellValue); switch (j) {// 通过列数来判断对应插如的字段 case 0: muju.setVendor(cellValue); break; case 1: muju.setItem(cellValue); break; case 2: muju.setKmcishu(Integer.parseInt(cellValue)); break; case 3: muju.setSycishu(Integer.parseInt(cellValue)); break; case 4: muju.setXianelv(Double.parseDouble(cellValue)); break; case 5: muju.setLjcishu(Integer.parseInt(cellValue)); break; case 6: muju.setFqcishu(Integer.parseInt(cellValue)); break; } } lists.add(muju); } Muju muju2 = null; for (int f = 0; f < lists.size(); f++) { muju2 = lists.get(f); System.out.println(lists); System.out.println(lists.get(f).getVendor()); System.out.println(lists.get(f).getItem()); System.out.println(lists.get(f).getKmcishu()); System.out.println(lists.get(f).getSycishu()); System.out.println(lists.get(f).getXianelv()); System.out.println(lists.get(f).getLjcishu()); System.out.println(lists.get(f).getFqcishu()); Mujudao mjd = new Mujudao(); Muju mj = mjd.itemandvendor(lists.get(f).getVendor(), lists.get(f).getItem()); System.out.println(mj); if (mj == null) { logger.debug(changliang.shibai1(f+1, muju2.getVendor(), muju2.getItem())); } else { int a = mjd.updateitemandvendor(muju2.getVendor(), muju2.getItem(), muju2.getKmcishu(), muju2.getSycishu(), muju2.getXianelv(), muju2.getLjcishu(), muju2.getFqcishu()); if(a==0){ logger.debug(changliang.shibai2(f+1)); } else logger.debug(changliang.chenggong(f+1)); } } } catch (IOException e) { e.printStackTrace(); } } ``` ![图片说明](https://img-ask.csdn.net/upload/201608/17/1471415652_612076.png) 如果图片是上图这样,就会出错,空值以后的数据全都不会被导入(下面的代码都不执行了,也没出任何异常) 如果图片是下图这样,却能正常导入 ![图片说明](https://img-ask.csdn.net/upload/201608/17/1471415628_373298.png) 但是,无论如何,我中间的,取空值时候的代码 System.out.println("asasas");都不会执行 求教大神这是怎么回事
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、PDF搜索网站推荐 对于大部
毕业设计 微信小程序 音乐播放器
大学室友根据网易云的API自己制作的微信小程序,获得校级优秀毕业设计(如果你是大佬请绕行),下面简单介绍一下: 根据多次的使用不同的音乐APP发现,网易云音乐的页面设计最适合作为本微信小程序的页面基础模板。由于本作品是微信小程序,就需要剔除APP中的各种冗余的功能,页面设计也需要尽可能的简单直接,内容也要充实。然后根据以上几点,对应用的功能模块进行大量的分析与重构...
想查看微信好友撤回的消息?Python帮你搞定
要说微信最让人恶心的发明,消息撤回绝对能上榜。 比如你现在正和女朋友用微信聊着天,或者跟自己喜欢的女孩子聊着天,一个不留神,你没注意到对方发的消息就被她及时撤回了,这时你很好奇,好奇她到底发了什么?于是你打算问问她发了什么,结果她回一句"没什么"。这一回复,让你的好奇心更加强烈了,顿时就感觉消息撤回这一功能就是用来折磨人的。 那么有没有什么办法能够知道你心爱的她(他)到底撤回了什么呢?不要着急,P...
程序员必备的8个学习工具
取其精华,去其糟粕
2019年12月中国编程语言排行榜
2019年12月4日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.60% 2 c/c++ 16.58% 3 c# 12.59% 4 javascript 12.21% 5 python 7.96% 6 go 7.19% 7 php ...
拼不过 GO?阿里如何重塑云上的 Java
阿里妹导读:Java 诞生于20年前,拥有大量优秀的企业级框架,践行 OOP 理念,更多体现的是严谨以及在长时间运行条件下的稳定性和高性能。反观如今,在要求快速迭代交付的云场景下,语言的简单性似乎成了首要的要求,而传统的 Java 语言显得有一些过于重量了。今天,阿里 JVM 团队技术专家郁磊(花名:梁希)分享 JVM 团队是如何面对和处理集团巨大的业务规模和复杂的业务场景的。 音乐无国...
Java知识体系最强总结(2020版)
更新于2020-01-05 18:08:00 本人从事Java开发已多年,平时有记录问题解决方案和总结知识点的习惯,整理了一些有关Java的知识体系,这不是最终版,会不定期的更新。也算是记录自己在从事编程工作的成长足迹,通过博客可以促进博主与阅读者的共同进步,结交更多志同道合的朋友。特此分享给大家,本人见识有限,写的博客难免有错误或者疏忽的地方,还望各位大佬指点,在此表示感激不尽。 整理的Ja
一个“/”键,封锁了整个互联网
正所谓无BUG不生活,从你含辛茹苦地码着第一行代码开始,bug就如影随形。 其实,bug 被自己或者是测试人员发现都是好事;但如果是被用户发现,又或者导致了客户和公司的巨额损失……这些未知后果,就如同悬在头顶的一把利刃,让人脊背发凉…… 但一个小小的bug,可能带给你惊吓,也可能带来惊喜。接下来,我们就来看看 bug 都能带来哪些意想不到的影响呢? 1.来自 Amazon 的圣诞大礼包~ 201...
计算机专业的书普遍都这么贵,你们都是怎么获取资源的?
介绍几个可以下载编程电子书籍的网站。 1.Github Github上编程书资源很多,你可以根据类型和语言去搜索。推荐几个热门的: free-programming-books-zh_CN:58K 星的GitHub,编程语言、WEB、函数、大数据、操作系统、在线课程、数据库相关书籍应有尽有,共有几百本。 Go语言高级编程:涵盖CGO,Go汇编语言,RPC实现,Protobuf插件实现,Web框架实
自学系列 | 就谈兴趣!
最近接到很多读者的私信,基本都是有关方向的选择上以及如何自学上,还有部分读者问到有关前端的方向,能不能详细写写如果从零学习,能够达到找工作的标准。而且这个自学能力是我们一辈子的生存技能,无论干什么,都离开这种能力,这是毋容置疑的。 之前有关自学的文章确实挺零散的,而且还不够详细。所以小鹿打算利用业余时间把如何自学写成一整个系列《如何成为一个优秀的自学者》。写之前呢,希望我们每个人先放下心中的执念...
卸载 x 雷某度!GitHub 标星 1.5w+,从此我只用这款全能高速下载工具!
作者 | Rocky0429 来源 | Python空间 大家好,我是 Rocky0429,一个喜欢在网上收集各种资源的蒟蒻… 网上资源眼花缭乱,下载的方式也同样千奇百怪,比如 BT 下载,磁力链接,网盘资源等等等等,下个资源可真不容易,不一样的方式要用不同的下载软件,因此某比较有名的 x 雷和某度网盘成了我经常使用的工具。 作为一个没有钱的穷鬼,某度网盘几十 kb 的下载速度让我
毕业5年,我问遍了身边的大佬,总结了他们的学习方法
你知道的越多,你不知道的越多 点赞再看,养成习惯 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和完善,大家面试可以参照考点复习,希望我们一起有点东西。 前言 很多次小伙伴问到学习方法,我也很想写这样的一篇文章来跟大家讨论下关于学习方法这件事情。 其实学习方法这个事情,我没啥发言权
推荐10个堪称神器的学习网站
每天都会收到很多读者的私信,问我:“二哥,有什么推荐的学习网站吗?最近很浮躁,手头的一些网站都看烦了,想看看二哥这里有什么新鲜货。” 今天一早做了个恶梦,梦到被老板辞退了。虽然说在我们公司,只有我辞退老板的份,没有老板辞退我这一说,但是还是被吓得 4 点多都起来了。(主要是因为我掌握着公司所有的核心源码,哈哈哈) 既然 4 点多起来,就得好好利用起来。于是我就挑选了 10 个堪称神器的学习网站,推
这些软件太强了,Windows必装!尤其程序员!
Windows可谓是大多数人的生产力工具,集娱乐办公于一体,虽然在程序员这个群体中都说苹果是信仰,但是大部分不都是从Windows过来的,而且现在依然有很多的程序员用Windows。 所以,今天我就把我私藏的Windows必装的软件分享给大家,如果有一个你没有用过甚至没有听过,那你就赚了......,这可都是提升你幸福感的高效率生产力工具哦! 走起!...... NO、1 ScreenToGif 屏幕,摄像头和
还看不懂同事代码?快来补一波 Java 7 语法特性
前言 Java 平台自出现到目前为止,已经 20 多个年头了,这 20 多年间 Java 也一直作为最流行的程序设计语言之一,不断面临着其他新兴编程语言的挑战与冲击。Java 语言是一种静态强类型语言,这样的语言特性可以让 Java 编译器在编译阶段发现错误,这对于构建出一个稳定安全且健壮的应用来说,尤为重要。但是也因为这种特性,让 Java 开发似乎变得缺少灵活性,开发某些功能的应用时,代码量可...
为什么TCP建立连接协议是三次握手,而关闭连接却是四次挥手呢?
看到了一道面试题:“为什么TCP建立连接协议是三次握手,而关闭连接却是四次握手呢?为什么不能用两次握手进行连接?”,想想最近也到金三银四了,所以就查阅了相关资料,整理出来了这篇文章,希望对你们有所帮助。 TCP 连接 我们先来补一下基础什么是 TCP 协议?传输控制协议( Transmission Control Protocol, TCP )是种面向连接、确保数据在端到端间可靠传输的协议。面向连...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦......,嗯,我们导员是所有导员中最帅的一个,真的...... 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强......,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧?
看完这篇HTTP,跟面试官扯皮就没问题了
我是一名程序员,我的主要编程语言是 Java,我更是一名 Web 开发人员,所以我必须要了解 HTTP,所以本篇文章就来带你从 HTTP 入门到进阶,看完让你有一种恍然大悟、醍醐灌顶的感觉。 最初在有网络之前,我们的电脑都是单机的,单机系统是孤立的,我还记得 05 年前那会儿家里有个电脑,想打电脑游戏还得两个人在一个电脑上玩儿,及其不方便。我就想为什么家里人不让上网,我的同学 xxx 家里有网,每
阿里程序员写了一个新手都写不出的低级bug,被骂惨了。
你知道的越多,你不知道的越多 点赞再看,养成习惯 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和完善,大家面试可以参照考点复习,希望我们一起有点东西。 前前言 为啥今天有个前前言呢? 因为你们的丙丙啊,昨天有牌面了哟,直接被微信官方推荐,知乎推荐,也就仅仅是还行吧(心里乐开花)
2020年,冯唐49岁:我给20、30岁IT职场年轻人的建议
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 来源|技术领导力(ID:jishulingdaoli) 前天的推文《冯唐:职场人35岁以后,方法论比经验重要》,收到了不少读者的反馈,觉得挺受启发。其实,冯唐写了不少关于职场方面的文章,都挺不错的。可惜大家只记住了“春风十里不如你”、“如何避免成为油腻腻的中年人”等不那么正经的文章。 本文整理了冯...
一文带你看清 HTTP 所有概念
上一篇文章我们大致讲解了一下 HTTP 的基本特征和使用,大家反响很不错,那么本篇文章我们就来深究一下 HTTP 的特性。我们接着上篇文章没有说完的 HTTP 标头继续来介绍(此篇文章会介绍所有标头的概念,但没有深入底层) HTTP 标头 先来回顾一下 HTTP1.1 标头都有哪几种 HTTP 1.1 的标头主要分为四种,通用标头、实体标头、请求标头、响应标头,现在我们来对这几种标头进行介绍 通用
世界上有哪些代码量很少,但很牛逼很经典的算法或项目案例?
点击上方蓝字设为星标下面开始今天的学习~今天分享四个代码量很少,但很牛逼很经典的算法或项目案例。1、no code 项目地址:https://github.com/kelseyhight...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东
破14亿,Python分析我国存在哪些人口危机!
2020年1月17日,国家统计局发布了2019年国民经济报告,报告中指出我国人口突破14亿。 猪哥的朋友圈被14亿人口刷屏,但是很多人并没有看到我国复杂的人口问题:老龄化、男女比例失衡、生育率下降、人口红利下降等。 今天我们就来分析一下我们国家的人口数据吧! 更多有趣分析教程,扫描下方二维码关注vx公号「裸睡的猪」 即可查看! 一、背景 1.人口突破14亿 2020年1月17日,国家统计局发布
Python实战:抓肺炎疫情实时数据,画2019-nCoV疫情地图
今天,群里白垩老师问如何用python画武汉肺炎疫情地图。白垩老师是研究海洋生态与地球生物的学者,国家重点实验室成员,于不惑之年学习python,实为我等学习楷模。先前我并没有关注武汉肺炎的具体数据,也没有画过类似的数据分布图。于是就拿了两个小时,专门研究了一下,遂成此文。
面试官问你MyBatis SQL是如何执行的?把这篇文章甩给他
初识 MyBatis MyBatis 是第一个支持自定义 SQL、存储过程和高级映射的类持久框架。MyBatis 消除了大部分 JDBC 的样板代码、手动设置参数以及检索结果。MyBatis 能够支持简单的 XML 和注解配置规则。使 Map 接口和 POJO 类映射到数据库字段和记录。 MyBatis 的特点 那么 MyBatis 具有什么特点呢?或许我们可以从如下几个方面来描述 MyBati...
作为一个程序员,内存和磁盘的这些事情,你不得不知道啊!!!
截止目前,我已经分享了如下几篇文章: 一个程序在计算机中是如何运行的?超级干货!!! 作为一个程序员,CPU的这些硬核知识你必须会! 作为一个程序员,内存的这些硬核知识你必须懂! 这些知识可以说是我们之前都不太重视的基础知识,可能大家在上大学的时候都学习过了,但是嘞,当时由于老师讲解的没那么有趣,又加上这些知识本身就比较枯燥,所以嘞,大家当初几乎等于没学。 再说啦,学习这些,也看不出来有什么用啊!
相关热词 c# singleton c#中类的默认值是 c#各种进制之间的转换 c# 正则表达式保留汉字 c#后台跨域 c#基础代码大全 c#指定combox选择 c#关系 mono c# 相差毫秒 用c#做一个简易计算器
立即提问