搜档网
当前位置:搜档网 › excel中发现不可读取内容

excel中发现不可读取内容

excel中发现不可读取内容
excel中发现不可读取内容

原文地址:excel 文件“发现不可读取原文作者:俊

本人在网上搜过类似的问题,还亲自体验过此问题。

现在把这个问题的解决方法共享,希望给有过此问题而束手无策的朋友们带来帮助。

1. 打开Excel文件时会报“发现不可读取的内容,是否回复此工作薄的内容..."错误。(图片1.png)

2. 点“是”,会弹出“通过修复或删除不可读取的内容,Excel已能够打开该文件。”。(图片2.png)

仔细看好此对话框标红色的部分,在xl 文件夹下的sharedStrings.xml文件出问题了,下面还写了报错的代码行数。

(学过xml知识的应该会明白这是什么问题,没学过xml的也没关系,跟着我一步一步做下去。)

3. 现在知道了哪个文件出了错,下一步呢,就是找到这个出错的文件。先把出错文件的文件扩展名(.xlsx)改成压缩文件(.zip)。如图片3.png。

4. 双击zip文件(不是解压缩,只是双击文件来打开。)找到xl文件下的sharedStrings.xml文件并双击打开文件(一般已IE浏览器打开)。在IE浏览器上会显示错误。(图片4.png)。

标红色的部分显示"si"和"t"标签出错了(每个人的错误标签会不同)。然后在页面上点击右键->选择“查看源代码”。会弹出源代码窗口。(通常是已记事本打开,我用的事Emeditor。)图片5.png。

在图片2.png里显示的是第2行出错了,那咱们就看第2行有什么异常。

xml文件的语法规则

之一是每个标签(tag)都必须有开标签(如:......)和关标签(如:.....)。

之二是这些标签必须是正确的嵌套

如:

金俊这个是正确的,

金俊这个是错误的

金俊这个也是错误的。

那你得看看你的源代码里有没有上述两个错误的代码。

图片5.png里显示的是少一个标签,将把这个标签写入到“金俊”的后面是正确的,然后保存。

再刷新一下IE浏览器上的错误文件,出现图片6.png便是修改正确。

解压包这里还会提示“...是否替换原有的文件...”,选择“是”。最后把zip文件扩展名再改回原来的扩展名,即xlsx。双击打开文件。有提示的话点“是”,你的数据已恢复原样了。

使用POI来处理Excel和Word文件格式

// 文件二进制输入流 private InputStream is = null; // 当前的Sheet private int currSheet; // 当前位置 private int currPosition; // Sheet数量 private int numOfSheets; // HSSFWorkbook HSSFWorkbook workbook = null; // 设置Cell之间以空格分割 private static String EXCEL_LINE_DELIMITER = " "; // 设置最大列数 private static int MAX_EXCEL_COLUMNS = 64; // 构造函数创建一个ExcelReader public ExcelReader(String inputfile) throws IOException, Exception { // 判断参数是否为空或没有意义 if (inputfile == null || inputfile.trim().equals("")) { throw new IOException("no input file specified"); } // 取得文件名的后缀名赋值给filetype this.filetype = inputfile.substring(https://www.sodocs.net/doc/2219160539.html,stIndexOf(".") + 1); // 设置开始行为0 currPosition = 0; // 设置当前位置为0 currSheet = 0; // 创建文件输入流 is = new FileInputStream(inputfile);

poi读写Excel文件

一、Excel基础 二、HSSF概况 三、通过usermodel读取文件 四、通过usermodel写入文件 五、通过eventusermodel读取文件 六、HSSF电子表格结构 七、通过HPSF读取文档属性 八、文档摘要信息 九、附录 ━━━━━━ 正文: ━━━━━━ 在上一篇文章中,我们介绍了POI项目的基本概念,了解了如何用POI来读写OLE 2复合文档结构,并给出了两个简单的例子:用POI来读写Excel文件的Workbook流。本文继续前文的话题,阐述如何用POI来读取/写入完整的Excel文件。 约定:POI项目2.0版现在已经接近正式发行阶段,开发进度迅速,不断有新的功能集成到原有的系统,同时也有对原有系统的修改。为了保证本文的及时性,本文将按照最近的1.9开发版说明。虽然编译最近的发行版源代码也能正常运行,但现在的代码和2.0的发行版会有一些出入。 一、Excel基础 Microsoft Excel 97文件格式也被称为BIFF8,最近版本的Excel只对该格式作了少量的改动。增加对新格式的支持除了增加项目的复杂性之外,唯一的效果也许只是不得不使每个用户升级代码,没有什么实际的好处。因此,在下文说明中,凡是提到Excel 97格式的地方其实都是指Excel从97到XP的格式。 二、HSSF概况 POI项目实现的Excel 97文件格式称为HSSF——也许你已经猜到,HSSF是Horrible SpreadSheet Format的缩写,也即“讨厌的电子表格格式”(微软使某些原本简单的事情过分复杂,同时又过分简单地处理了某些原本需要灵活性的事情,让人不胜佩服!)也

Matlab 如何读取 Excel 表格数据

? 上一篇: 在VC++程序中输出空心文字下一篇: My ANN program ? Matlab 如何读取 Excel 表格数据 Cyberr @ 2005-03-31 12:44 Subject: Are there any examples that show how to use the ActiveX automation interface to connect MATLAB to Excel? Problem Description I am trying to control Excel from MATLAB using ActiveX. Are there any examples that show how to use the ActiveX automation interface from Excel to do this? Solution: Most of the functionality that you get from ActiveX is dependent on the object model, which the external application implements. Consequently, we are usually unable tp provide much information about the functions that you need to use in the remote application to perform a particular function. We do, however, have an example that shows how to do perform common functions in Excel. We also recommend that you become more familiar with the Excel object model in order to better use Excel's ActiveX automation interface from MATLAB. You can find more information on this interface by selecting the "Microsoft Excel Visual Basic Reference" topic in the Microsoft Excel Help Topic dialog. This topic area contains a searchable description of Excel methods and properties. The following example demonstrates how to insert MATLAB data into Excel. It also shows how to extract some data from Excel into MATLAB. For more information, refer to the individual comments for each code segment. % Open Excel, add workbook, change active worksheet, % get/put array, save, and close % First open an Excel Server Excel = actxserver('Excel.Application'); set(Excel, 'Visible', 1); % Insert a new workbook

java的POI操作Excel文件

java的POI操作Excel文件(2) 现在我要做的东西基本完成啦,我把这段时间使用POI的一些心得总结出来,希望能对和我遇到相同问题的朋友有所帮助,至于POI基本的使用方法,自己去看文档吧。 1、设置分页符的bug POI里的HSSFSheet类提供了setRowBreak方法可以设置Sheet的分页符。 Bug:如果你要设置分页符的Sheet是本来就有的,并且你没有在里面插入过分页符,那么调用setRowBreak时POI会抛出空指针的异常。 解决方法:在Excel里给这个sheet插入一个分页符,用POI打开后再把它删掉,然后你就可以随意插入分页符了。 如果sheet是由POI生成的则没有这个问题。我跟踪了setRowBreak的源代码,发现是Sheet.Java下的PageBreakRecord rowBreaks这个变量在搞鬼,如果Sheet里原来没有分页符,开发这个模块的那位兄台忘了为这个对象new实例,所以只能我们先手工给Excel插入一个分页符来触发POI为rowBreaks创建实例。 2、如何拷贝行 我在https://www.sodocs.net/doc/2219160539.html,的POI用户论坛翻遍了每个相关的帖子,找遍了api,也没看到一个拷贝行的方法,没办法,只能自己写: //注:this.fWorkbook是一个HSSHWorkbook,请自行在外部new public void copyRows (String pSourceSheetName, String pTargetSheetName, int pStartRow, int pEndRow, int pPosition) { HSSFRow sourceRow = null; HSSFRow targetRow = null; HSSFCell sourceCell = null; HSSFCell targetCell = null; HSSFSheet sourceSheet = null; HSSFSheet targetSheet = null; Region region = null; int cType; int i; short j; int targetRowFrom; int targetRowTo;

java读取和写入EXCEL文件

java读取和写入Excel文件 在Java中读取Excel文件的内容 在这里,我使用的是一个叫Java Excel API的东西,类似的还有jakarta的POI,不过感觉那个太复杂了点儿。而且jxl对中文的支持相当的好,至少我在用的过程中一点问题没出。 一、下载地址 [url]https://www.sodocs.net/doc/2219160539.html,/jexcelapi/[/url] 二、特性 可以读取Excel 95, 97, 2000文件 可以读或写Excel 97及其以后版本的的公式(不过我发现好像有bug) 生成Excel 97格式的电子表格 支持字体、数字和日期格式化 支持单元格的颜色和阴影 可以编辑现有的文件 三、读文件 //声明一下,记得后面要关闭哦。。 Workbook workbook = null; try { workbook = Workbook.getWorkbook(new File("d:\\temp\\TestRead.xls")); } catch (Exception e) { throw new Exception("file to import not found!"); } Sheet sheet = workbook.getSheet(0); Cell cell = null; int columnCount=3; int rowCount=sheet.getRows(); for (int i = 0; i

Matlab中使用Excel数据

Matlab中使用Excel資料收藏 % Open Excel, add workbook, change active worksheet, % get/put array, save, and close % First open an Excel Server %打開一個Excel操作物件 Excel = actxserver('Excel.Application'); %使Excel物件可見,即打開Excel視窗,實際應用時設置其為不可見的set(Excel, 'Visible', 1); % Insert a new workbook %創建工作本組物件 Workbooks = Excel.Workbooks; %添加一個工作本 Workbook = invoke(Workbooks, 'Add'); % Make the second sheet active %獲取當前活躍工作本的表單組,一個工作本共有3個表單(sheets)Sheets = Excel.ActiveWorkBook.Sheets; %獲取表單組中的一個表單 sheet2 = get(Sheets, 'Item', 2); %啟動該表單 invoke(sheet2, 'Activate'); % Get a handle to the active sheet %獲取當前活躍表單的控制碼 Activesheet = Excel.Activesheet; % Put a MATLAB array into Excel %向表單中寫入資料 A = [1 2; 3 4]; %設置寫到Excel中的範圍 ActivesheetRange = get(Activesheet,'Range','A1:B2'); %寫入 set(ActivesheetRange, 'Value', A); % Get back a range. It will be a cell array, % since the cell range can % contain different types of data. %讀會資料塊 Range = get(Activesheet, 'Range', 'A1:B2');

poi读取excel并输出到jsp页面

代码来源于网络,只做了部分修改,我也是刚用到很多都不懂,找了一些例子之类的自己用,有些不错的分享给大家,仅供参考。 下面这个是用servlet做(注意web.xml );其实原理一样;源码如下 readExcelServlet.java package com.test.servlet; import java.io.FileInputStream; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import https://www.sodocs.net/doc/2219160539.html,ermodel.HSSFCell; import https://www.sodocs.net/doc/2219160539.html,ermodel.HSSFDateUtil; import https://www.sodocs.net/doc/2219160539.html,ermodel.HSSFRow; import https://www.sodocs.net/doc/2219160539.html,ermodel.HSSFSheet; import https://www.sodocs.net/doc/2219160539.html,ermodel.HSSFWorkbook; import org.apache.poi.poifs.filesystem.POIFSFileSystem; /** * author:wx * describe:Reads the Excel example * */ public class readExcelServlet extends HttpServlet { /** * */ private static final long serialVersionUID = 1L; /** * * Constructor of the object. */ public readExcelServlet() { super(); } /** * Destruction of the servlet.
* */ public void destroy() { super.destroy(); }// Just puts "destroy" string in log // Put your code here /** * doGet */ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

excel中的数据导入matlab中

用Excel Link实现Excel与Matlab混合编程 Excel Link是一个在Windows环境下实现Excel与Matlab进行链接的插件。通过连接Excel 和Matlab,用户可以在Excel工作表空间和宏编程工具中使用Matlab的数值计算,图形处理等功能,不需要脱离Excel环境。同时由Excel Link来保证两个工作环境中的数据交换和同步更新。 1. Excel Link的安装和和设置首先,在系统中安装Excel软件。然后安装Matlab和Excel Link,用Matlab安装盘开始安装,选择自定义安装中,在选中组件ExcelLink,如下图所示:安装完Excel Link后还需要在Excel中进行一些设置后才能使用。启动Excel,选择菜单“工具”项下的“加载宏”项,弹出如下对话框:选中Excel Link项。如果该项不存在,则通过浏览目录,在目录%MATLAB%toolboxexlink下找到excllink.xla文件,如下图示,并确定。选中ExcelLink项并确定后,在Excel中多了一个Excel Link工具条,如下图示: 经过以上的设置后就可以开始使用Excel Link了。 2. ExcelLink连接管理函数 (1) Matlabinit 该函数只能在宏子例程中使用。初始化ExcelLink和启动Matlab进程。只有在MLAutoStart 函数中使用“no”参数,才需要手动使用Matlabinit来初始化ExcelLink和启动Matlab进程,如果使用参数“yes”,则Matlabinit是自动执行的。 使用语法:Matlabinit (2) MLAutoStart 设置自动启动Matlab和ExcelLink。 在工作表中的使用语法: MLAutoStart("yes") MLAutoStart("no") 在宏中的使用语法: MLAutoStart "yes" MLAutoStart "no" 使用“yes”参数,则当Excel启动时,自动启动Matlab和ExcelLink;如果使用参数“no”,则当Excel启动时,不启动Matlab和ExcelLink。如果在此之前它们已经启动,则无任何影响。 (3) MLClose 终止Matlab进程并删除Matlab工作空间的所有变量。并通知Excel,Matlab不再运行。 在工作表中的使用语法: MLClose() 在宏中的使用语法: MLClose (4) MLOpen 启动Matlab进程。如果Matlab进程已经启动,则MLOpen函数不进行任何操作。在使用MLClose关闭Matlab进程后使用MLOpen来重新启动Matlab。 在工作表中的使用语法: MLOpen() 在宏中的使用语法: MLOpen

matlab 如何将符合特定条件的数据导入excel并求出平均值

% outline %step_1 clear %step_2 CurrentWorkingPaht %step_3 a Matrix_r %step_4 Loop getting the 20 close and far values %step_5 writing the Matrix_r into the Excel % clear clc;clear; % currentworkingpath CurrentWorkingPath = fileparts(mfilename('fullpath')); Filename_result = ['result_selectionA_1.txt']; % set a Matrix_r Matrix_r = zeros(20,2); for i = 1:20 tmpPathname = sprintf('%s\\sub%d\\%s',CurrentWorkingPath,i,Filename_result); [Col_1 Col_2 Col_3 Col_4 Col_5 Array_type Array_RTs Array_ACC] = textread(tmpPathname, '%d%d%d%d%d%d%d%d', 'delimiter', ' '); doubleC_Mat = [Array_type Array_RTs]; Matrix_r(i,1) = mean(doubleC_Mat(doubleC_Mat(:,1)<=12,2)); Matrix_r(i,2) = mean(doubleC_Mat(doubleC_Mat(:,1)>12,2)); end % writing into the excel file success = xlswrite('student_update.xls', Matrix_r,'sheet1', 'B2'); Series = 1:20; Series = Series';

poi读写excel案例

Java-Excel 报表开发 POI (2009-02-19 21:44:10) 转载▼ 分类:java 标签: java 杂谈 开发环境为windowsXP-SP2,Eclipse3.2,JDK1.5.07,其实差不多都行,不会有太大的差异。本文从POI 下载开始讲解,前提是开发环境包括系统变量等等已经正确设置完毕。 1.POI的下载 截至本文发表,POI最新版本是3.0.1,距离上一个Final版本有3年了吧,以至于我差点儿就把他放弃了——以为没人管了。官方的公告讲,这一版主要是追加了一些新的特性和BUG修正,不过稍微有点儿遗憾的是,还不能很好的操作Excel2007。 POI官方网址: https://www.sodocs.net/doc/2219160539.html,/ JAR包下载: https://www.sodocs.net/doc/2219160539.html,/poi/release/bin/poi-bin-3.0.1-FINAL-20070705.zip 源码下载: https://www.sodocs.net/doc/2219160539.html,/poi/release/src/poi-src-3.0.1-FINAL-20070705.zip 下载上面的JAR和源码(源码不是必须的,但是为了早日修得正果,深入系统的看看POI代码还是有必要的)并解压待用。 2.用Eclipse搭建项目 打开Eclipse 依次点击File->New->Java Project 输入项目名称,本例中设置为POI 单击完成 在项目上点击右键->New->Folder 输入文件夹名称lib 把刚才解压的poi-3.0.1-FINAL-20070705.jar复制过来 右键点击项目,选择Properties 在左侧列表里选中Java Build Path,右侧选中Libraries 点击Add JARs,选择POI项目的lib下的所有文件 两次OK确认,回到Eclipse界面 小技巧,快捷操作:可以用鼠标左键选中poi-3.0.1-FINAL-20070705.jar但不松开,拖到任务栏的Eclipse 图标上等候1秒左右,Eclipse会自动弹起来,依然不松开移动到lib文件夹上,这个时候鼠标后面跟个十

matlab读取excel数据

matlab读取excel office的表格文件也就是xls文件本质上就是一个二维矩阵,二维矩阵是用来保存数据的最佳方式,所以在日常工作中,我们从其它地方获取的数据通常都被保存为xls格式,但处理数据时,我们却需要把xls文件的数据导入到matlab里进行处理。 如果你只处理一个文件并且只做一次的话,你可以手动来拷贝粘贴,这花费不了你太多时间。如果有很多xls文件,或者你的xls文件的内容可能随时被修改,那么下面的方法可以派上用场。 matlab自身提供了大量的函数,包括读取office文件。其中xlsread和xlswrite就是专门用来读取xls文件里的数据的。这两个函数的使用方法可以直接查看matlab自带的帮助。 xlsread对于纯数据的xls文件支持很完美,也就是说当xls文件里的每个格子都是“数”时,xlsread会直接返回一个实数矩阵。但是通常我们拿到xls文件并不是这样,它的表头多半是描述性文字,它的数据也有可能是文字,有些位置的数据还有可能是缺失的。xlsread 对这样的文件读取无能为力,或者说需要大量的时间去协调数据的位置信息。要是有一个函数,能够按照原有的顺序直接读取所有的单位格数据就好了。当然,这时候返回的矩阵就不能是一个数值矩阵了,它将会是一个cell矩阵,里面的每个元素类型可能不一样。 matlab本身并不提供这个功能,但是另外有一个函数officedoc完美的实现这个功能。这个函数包可以去OfficeDoc官方网站上去下载,解压缩后放到工作路径上即可。使用方法可以查询help officedoc。officedoc是收费函数包,但有免费版本,而且其免费版本可以实现上面我们所说的效果(收费版本主要是可以用来修改office文件)。 例子: 在matlab中读取xls格式的文件内容如应用如下函数: 1.bb=xlsread('c:feature.xls','a0:an40'),其中:c:feature.xls为文件存放的地址,a0:a40为将要读取的单元格的范围.bb为读取的矩阵在MATLAB中的变量名. 2.使用m文件脚本如下: Excel = actxserver('Excel.Application'); set(Excel, 'Visible', 1); Workbooks = Excel.Workbooks; Workbook = invoke(Workbooks, 'Open', [cd,'\feature\ABC.xls']); %% 读取ABC.xls:sheet1 a1(即R1C1)~an40(即R240c40) 范围内的 40by40 矩阵read_excel=ddeinit('excel','ABC.xls:sheet1'); feature1 = ddereq(read_excel, 'R1c1:R40c40'); feature1 %% 关闭ABC.xls invoke(Excel, 'Quit'); delete(Excel); 注意:在使用时将m文件与xls文件存于同一个目录下.另外:sheet1:可以重命名,且读取sheet的名称要和实际存放的名称相同. matlab读取excel,txt文件函数 注意matlab不识别中文,读写的文件中最好不含有中文 excel读取函数xlsread

在Java中读写Excel文件

在Java中读写Excel文件 Jakarta的POI项目提供了一组操纵Windows文档的Java API,如下几个类提供了操作Excel文件的方便的途径:HSSFWorkbook、HSSFSheet、HSSFRow、HSSFCell,分别代表了Excel电子表格中的Book、Sheet、行和单元格。 你可以在下面地址下载到最新的POI工具包: https://www.sodocs.net/doc/2219160539.html,/poi/index.html 下面的代码创建一个Excel文件test.xls,并在第一行的第一格中写入一条消息: 1.import https://www.sodocs.net/doc/2219160539.html,ermodel.*; 2.import java.io.FileOutputStream; 3. 4.// code run against the jakarta-poi-1. 5.0-FINAL-2002050 6.jar. 5.public class PoiTest { 6. 7.static public void main(String[] args) throws Exception { 8.FileOutputStream fos = new FileOutputStream("d:\test.xls"); 9. HSSFWorkbook wb = new HSSFWorkbook(); 10. HSSFSheet s = wb.createSheet(); 11. wb.setSheetName(0, "first sheet"); 12. HSSFRow row = s.createRow(0); 13.HSSFCell cell = row.createCell(0); 14.cell.setCellValue("Hello! This message is generated from POI."); 15. wb.write(fos); 16. fos.close(); 17. } 18. 19.} 读取Excel文件时,首先生存一个POIFSFileSystem对象,由POIFSFileSystem 对象构造一个HSSFWorkbook,该HSSFWorkbook对象就代表了Excel文档。下面代码读取上面生成的Excel文件写入的消息字串: 1. POIFSFileSystem fs = null; 2. HSSFWorkbook wb = null; 3.

如何将Excel中的数据导入MATLAB并在MATLAB中画出图像

1. 如何将Excel中的数据在MATLA界面下显示出来: 首先Excel必须是office 的(WPS勺不可以,MATLA不能识别),在MATLA中使用命令xlsread读取Excel中的数据到MATLA里,如下所示:[number,txt,raw]=xlsread('noise.xlsx'),此时读取的文件须在MATLA默认路径下,命令具体用法及参数含义可直接用help 命令在MATLA中查找。读取的数据界面如下: [0.2i60] [0.24SO] [0.2500] [0.2520] [0.2540] [0.2560] [0.2580] [0.25Q0] [0.2620] [0. 2640] [0. 2660] [0.2680] [0.2700] [0.2720] [0.2740] [0. 2760] [23.6000] [ 28] [30.4000] 125-2000] [ 18] [19.2000] [2L 2000] [17. 20Q0] [16.SOOO] [17.6000] [13.6000] [11.2000] [13.6000] [13.2000] [ 10] [12.4000] 2. 如何将Excel中的数据导入MATLA并在MATLA中画出图像? 首先Excel必须是office 的(WPS勺不可以,MATLA不能识别),file-Import Data- 在工作路径下找到需要导入的文件(图3)-点击 打开(图4)-点击next-点击finish- 导入成功-在workspace中看到图5 (导入的数据)。至此数据导入成功。下面是如何利用该数据绘图:法一:双击workspace中的data打开如图6,选中要画图的数据如图7 (数据范围可以根据需要随便选择),点击上方的plot(data (1:874,1:2),画出图像如图8,并且在工作空间中自动显 示画图命令。 法二:直接在工作空间中写画图命令。 >> [number, txt raw!=zlsr*ad C noise.xlsz J) riunber 二 0.246023. 6000 0.24SC 2& 0000 0.2500 30. 4000 0. 2520 25.2000 0. 2E40 18. 0000 0.2560 2000 Di 2580 21. 2000 0.2600 17.2000 0. 2620 16.3000 0. 2640 17. 6000 0. 13. 6000 0* 26SA 1],2000 0. 2700 13. SQ00

Java读写Excel之POI入门

Java读写Excel之POI入门 Apache POI 是用Java编写的免费开源的跨平台的Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能。 Apache POI 是创建和维护操作各种符合Office Open XML(OOXML)标准和微软的OLE 2复合文档格式(OLE2)的Java API。用它可以使用Java读取和创建,修改MS Excel文件.而且,还可以使用Java读取和创建MS Word和MSPowerPoint文件。Apache POI 提供Java操作Excel解决方案(适用于Excel97-2008)。 如果处理.xlsx、docx、pptx的话可以试试Docx4j 。 ?HSSF -提供读写Microsoft Excel XLS格式档案的功能。 ?XSSF -提供读写Microsoft Excel OOXML XLSX格式档案的功能。 ?HWPF -提供读写Microsoft Word DOC格式档案的功能。 ?HSLF -提供读写Microsoft PowerPoint格式档案的功能。 ?HDGF -提供读Microsoft Visio格式档案的功能。 ?HPBF -提供读Microsoft Publisher格式档案的功能。 ?HSMF -提供读Microsoft Outlook格式档案的功能。 版本:poi-3.8-20120326.jar 1、生成Workbook Java代码

2、生成Workbook OOXML形式(.xlsx) Java代码 3、打开Workbook Java代码

基于MATLAB的EXCEL数据计算与分析

基于MATLAB的EXCEL数据计算与分析 潜刘方 摘要:再怎么样希望先看摘要,阅读本文需要一定的MATLAB基础知识,不需要excel相关知识。结合本人近期工作上的需要测量计算,想偷懒就选择了利用MATLAB偷懒,于是便有了本文。本文首先利用MATLAB读取数据,计算,将数据写入excel,然后花了很大的精力来根据实际需要画图,最后将图保存在excel所在的文件夹下。这个m文件可谓花了我不少的时间和精力。最后根据m文件的不足(不能将图形输入到excel文档当中),进一步弥补这不足,就有了exlink(也叫excel link),在网上搜索了相关的知识,发现很多关于exlink 的培训,觉得实在可笑,所以就将exlink的使用写的比较详细,以供读者自行分析体会。关键字:MATLAB excel exlink接口 一、前沿 MATLAB是一款应用在各个领域的数学软件,最初叫做矩阵实验室,专用于矩阵的运算,后来的版本再各个领域都得到了很好的应用,比如:通信、电力电子、电机控制、运动控制、计算机控制、自动控制,DSP数字信号处理。但是MATLAB对于数据的处理与可视化是很多软件所不能及的。 EXCEL作为办公必备软件,能对简单数据分析计算与作图分析,但是处理复杂数据显得力不从心,比如三维作图就无法利用EXCEL作出;EXCEL本身的函数远远没有MATLAB 多,MATLAB作为数据有其独特的优势,集成了很多数学函数,包括数据拟合差值等。MATLAB 可以从EXCEL中读取数据,经过相关运算之后又可以将数据写入EXCEL,假如需要重复性的对excel可以利用MATLAB编写函数,每次只要运行MATLAB程序就可以完成,大大节省时间和精力。 另外,MATLAB还有与EXCEL的接口,叫做EXLINK,运用这个接口可以在excel中完成MATLAB函数的调用,还能传送数据给MATLAB,从MATLAB当中读取数据,从MATLAB 当中读取图形,使用方便,操作简单。 二、基于MATLAB的数据分析 数据分析操作流程主要分为三步:第一步,从excel中读取数据;第二部:利用MATLAB 大量函数对数据分析处理;第三步:将分析结果写入excel中。在整个过程中,不需要打开excel软件,操作十分方便,每次操作唯一要做就是修改excel所在的目录及文件名。主要函数如下(具体使用方法可在MATLAB命令窗口输入help+函数名查看):Xlsread从excel中读数据 Xlswrite向excel中邪数据 num2str将数字转换为字符串 strncmp字符串比较 polyfit数据拟合 polyval具体数值代入求值 plot作图

使用POI读取excel文件内容

使用POI读取excel文件内容 package edu.sjtu.erplab.poi;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.text.SimpleDateFormat;import java.util.Date;import java.util.HashMap;import java.util.Map;import https://www.sodocs.net/doc/2219160539.html,ermodel.HSSFCell;import https://www.sodocs.net/doc/2219160539.html,ermodel.HSSFDateUtil;import https://www.sodocs.net/doc/2219160539.html,ermodel.HSSFRow;import https://www.sodocs.net/doc/2219160539.html,ermodel.HSSFSheet;import https://www.sodocs.net/doc/2219160539.html,ermodel.HSSFWorkbook;import org.apache.poi.poifs.filesystem.POIFSFileSystem;/** * 操作Excel表格的功能类*/public class ExcelReader { private POIFSFileSystem fs; private HSSFWorkbook wb; private HSSFSheet sheet; private HSSFRow row; /** * 读取Excel表格表头的内容* @param InputStream * @return String 表头内容的数组*/ public String[] readExcelTitle(InputStream is) { try { fs = new POIFSFileSystem(is); wb = new HSSFWorkbook(fs); } catch (IOException e)

POI操作excel大全

POI操作excel大全 第一讲:基本的Excel读写本文主要演示一下POI的基本操作,例如怎样读取和创建一个具体的Excel文件。按照惯例,拿HelloWorld说事儿。 说明:本文主要内容皆包含于官方帮助手册,之所以要拿出来,出于两个原因,手册是英文的+手册是对应 2.5.1的。 核心代码如下,注释部分为讲解。 这里只挑干的讲,完整的代码请参考(下载代码)。 //创建一个空白的WorkBook HSSFWorkbook wb = new HSSFWorkbook(); //基于上面的WorkBook创建属于此WorkBook 的Sheet, // 3.0.1版在使用全角Sheet名的时候不必再setEncdoing了,个人感觉方便了许多。H SSFSheet st = wb.createSheet(“测试页“); //创建属于上面Sheet的Row,参数0可以是0~65535之间的任何一个, //注意,尽管参数是Int类型,但是Excel最多支持65536行 HSSFRow row = st.createRow(0); //创建属于上面Row的Cell,参数0可以是0~255之间的任何一个, //同样,是因为Excel最大支持的列数为256列 HSSFCell cell = row.createCell((short)

0); //设置此单元格的格式为文本,此句可以省略,Excel会自动识别。 //其他还有几种常用的格式,请参考本文底部的补充部分。c ell.setCellType(HSSFCell.CELL_TYPE_STRING); //此处是 3.0.1版的改进之处,上一版可以直接 setCellValue(“Hello, World!“), //但是在 3.0.1里,被deprecated了。c ell.setCellValue(new HSSFRichTextString(“Hello, World!“)); //创建一个文件输出流,指定到C盘根目录下(C盘都有吧?) //xls是Excel97-2003的标准扩展名,xx是xlsx,目前的POI能直接生产的还是xls格式, //如果此处把扩展名改成xlsx,在用Excelxx打开此文件时会报错。F ileOutputStream writeFile = new FileOutputStream(“c:/helloworld.xls“); //把WorkBook写到流里 wb.write(writeFile); //记得手动关闭流,官方文档已经做了特别说明,说POI不负责关闭用户打开的流。所以. writeFile.close(); 上面就是创建一个新文档的简易代码,下面的例子是读取刚才创建的Excel并把读取到的内容显示在控制台上。 //指定要读取的文件,本例使用上面生成的helloworld.xls FileInputStream readFile = new FileInputStream(“c:/helloworld.xls“); //创建一个WorkBook,从指定的文件流中创建,即上面指定了的文件流

POI解析excel2007和生成excel2007

最近几天在整理客户的数据,数据量比较大,有几十万条,用到了excel。用户提供的数据有很多重复的,这个我们要挑拣出来,我用代码写挑拣重复的数据,原来用jxl解析excel,发现excel不支持office2007,并且excel2003最大的行数只能是65535,这样就不能运行一次代码解决问题了。查了下资料,apache 的POI可以解析office2007。下面两个简单例子望能提供给网友参考。 1.读取excel2007 Java代码 1. //office2007工作区 2. XSSFWorkbook wb = new XSSFWorkbook(new FileInputStream( "D:/temp/test_poi.xlsx")); 3. //获得该工作区的第一个sheet 4. XSSFSheet sheet = wb.getSheetAt(0); 5. //总共有多少行,从0开始 6. int totalRows = sheet.getLastRowNum(); 7. for (int i = 0; i <= totalRows; i++) { 8. //取得该行 9. XSSFRow row = sheet.getRow(i); 10. //注释的代码,是为了防止excel文件有空行 11.// if(row == null) { 12.// continue; 13.// } 14. System.out.println(row.getCell(1).toString()); 15. } 2.生成excel2007 Java代码 1.//输出流 2.OutputStream os = new FileOutputStream("D:/temp/create.xlsx"); 3.//工作区 4.XSSFWorkbook wb = new XSSFWorkbook(); 5.//创建第一个sheet 6.XSSFSheet sheet= wb.createSheet("test"); 7.//生成第一行 8.XSSFRow row = sheet.createRow(0); 9.//给这一行的第一列赋值 10.row.createCell(0).setCellValue("column1"); 11.//给这一行的第一列赋值 12.row.createCell(1).setCellValue("column2");

相关主题