精华内容
下载资源
问答
  • poi xssf

    2017-07-05 10:47:47
    我们之前使用了POI技术将回货表构造成excel文件输出并打印,但是我们依然遗留了许多的问题,这次我们将使用的POI的HSSF,升级为XSSF。 首先什么是HSSF、XSSF呢?其实它是根据不同的规格提供不同的功能。 结构: ...
    我们之前使用了POI技术将回货表构造成excel文件输出并打印,但是我们依然遗留了许多的问题,这次我们将使用的POI的HSSF,升级为XSSF。

    首先什么是HSSF、XSSF呢?其实它是根据不同的规格提供不同的功能。
    结构:
    HSSF - 提供读写Microsoft Excel格式档案的功能。
    XSSF - 提供读写Microsoft Excel OOXML格式档案的功能。
    HWPF - 提供读写Microsoft Word格式档案的功能。
    HSLF - 提供读写Microsoft PowerPoint格式档案的功能。
    HDGF - 提供读写Microsoft Visio格式档案的功能。

    我们之前提到过,早期微软Office系列,当时使用OLE2文档结构(纯2进制的文件,文件头都有规范的)。
    微软在开发office2007版本时,做了一个重大的改革,重写了office。使用OOXML文档结构。现在excel文件实际上是一个XML格式文件。

    POI支持OLE2格式文件,还支持OOXML,而且在OOXML格式文件时做了很大的优化。JXL只支持OLE2格式文件。

    所以,我们使用XSSF会更大程度上的优化我们打印出来的excel文件,还有一个极其重要的一点,就是XSSF一次能够打印百万数据(具体1048576),而HSSF一次只能打印万行(65536)。
    还有一些具体的优化比如:
    1)升级对象
    2)升级模板
    3)升级写出的xlsx

    我们接下来把原来Controller中的print方法修改一下,让它由HSSF改为XSSF:
    [java] view plain copy
    1. //打印-XSSF  
    2.     @RequestMapping("/cargo/outproduct/print.action")  
    3.     public void print2(String inputDate,HttpServletResponse response) throws IOException{  //inputDate格式:yyyy-MM  
    4.           
    5.         List<OutProductVO> dataList=outProductService.find(inputDate);  
    6.         /*System.out.println(dataList.size()); 
    7.         System.out.println(inputDate);*/  
    8.       
    9.         Workbook wb=new XSSFWorkbook();//打开一个模板文件,2007Excel以上版本  
    10.         Sheet sheet=wb.createSheet();  
    11.         Row nRow=null;  
    12.         Cell nCell=null;  
    13.           
    14.         int rowNo=0;  //行号  
    15.         int cellNo=1;//列号  
    16.           
    17.         //声明样式对象和字体对象  
    18.         CellStyle nStyle=wb.createCellStyle();  
    19.         Font nFont=wb.createFont();  
    20.           
    21.         //设置表格宽度  
    22.         sheet.setColumnWidth(0,1*300);//列宽  
    23.         sheet.setColumnWidth(1,26*300);//列宽  
    24.         sheet.setColumnWidth(2,12*300);//列宽  
    25.         sheet.setColumnWidth(3,29*300);//列宽  
    26.         sheet.setColumnWidth(4,10*300);//列宽  
    27.         sheet.setColumnWidth(5,12*300);//列宽  
    28.         sheet.setColumnWidth(6,8*300);//列宽  
    29.         sheet.setColumnWidth(7,10*300);//列宽  
    30.         sheet.setColumnWidth(8,10*300);//列宽  
    31.         sheet.setColumnWidth(9,8*300);//列宽  
    32.           
    33.         //大标题,合并单元格  
    34.         sheet.addMergedRegion(new CellRangeAddress(0,0,1,9));//开会行,结束行,开始列,结束列  
    35.         //合并单元格的内容是写在合并前第一个单元格中  
    36.         nRow=sheet.createRow(rowNo++);  
    37.         nRow.setHeightInPoints(36);//行高  
    38.           
    39.         nCell=nRow.createCell(1);  
    40.         nCell.setCellValue(inputDate.replaceFirst("-0","-").replaceFirst("-","年")+"月份出货表");//yyyy-MM  
    41.         nCell.setCellStyle(this.bigTitle(wb, nStyle, nFont));  
    42.           
    43.         //配置标题行  
    44.         String [] title=new String[]{"客户","订单号","货号","数量","工厂","附件","工厂交期","船期","贸易条款"};  
    45.           
    46.         nRow=sheet.createRow(rowNo++);  
    47.         nRow.setHeightInPoints(26.25f);//标题的高  
    48.         nStyle=wb.createCellStyle();//重新初始化样式  
    49.         nFont=wb.createFont();//重新初始化字体  
    50.         for (int i = 0; i < title.length; i++) {  
    51.             nCell=nRow.createCell(i+1);  
    52.             nCell.setCellValue(title[i]);  
    53.             nCell.setCellStyle(this.Title(wb, nStyle, nFont));  
    54.         }  
    55.           
    56.         nStyle=wb.createCellStyle();//重新初始化样式  
    57.         nFont=wb.createFont();//重新初始化字体  
    58.           
    59.         //处理数据  
    60.         for (int i = 0; i < dataList.size(); i++) {  
    61.             OutProductVO op=dataList.get(i);  
    62.   
    63.   
    64.             nRow=sheet.createRow(rowNo++);  
    65.             nRow.setHeightInPoints(24);//数据框的高  
    66.             cellNo=1;//列号初始化  
    67.               
    68.             nCell=nRow.createCell(cellNo++);  
    69.             nCell.setCellValue(op.getCustomName());  
    70.             nCell.setCellStyle(this.Text(wb, nStyle, nFont));  
    71.               
    72.             nCell=nRow.createCell(cellNo++);  
    73.             nCell.setCellValue(op.getcontractNo());  
    74.             nCell.setCellStyle(this.Text(wb, nStyle, nFont));  
    75.               
    76.             nCell=nRow.createCell(cellNo++);  
    77.             nCell.setCellValue(op.getProductNo());  
    78.             nCell.setCellStyle(this.Text(wb, nStyle, nFont));  
    79.               
    80.             nCell=nRow.createCell(cellNo++);  
    81.             nCell.setCellValue(op.getCnumber());  
    82.             nCell.setCellStyle(this.Text(wb, nStyle, nFont));  
    83.               
    84.             nCell=nRow.createCell(cellNo++);  
    85.             nCell.setCellValue(op.getFactoryName());  
    86.             nCell.setCellStyle(this.Text(wb, nStyle, nFont));  
    87.               
    88.             nCell=nRow.createCell(cellNo++);  
    89.             nCell.setCellValue(op.getExts());  
    90.             nCell.setCellStyle(this.Text(wb, nStyle, nFont));  
    91.               
    92.             nCell=nRow.createCell(cellNo++);  
    93.             nCell.setCellValue(op.getDelivery_preriod());  
    94.             nCell.setCellStyle(this.Text(wb, nStyle, nFont));  
    95.               
    96.             nCell=nRow.createCell(cellNo++);  
    97.             nCell.setCellValue(op.getShip_time());  
    98.             nCell.setCellStyle(this.Text(wb, nStyle, nFont));  
    99.               
    100.             nCell=nRow.createCell(cellNo++);  
    101.             nCell.setCellValue(op.getTradeTerms());  
    102.             nCell.setCellStyle(this.Text(wb, nStyle, nFont));  
    103.               
    104.         }  
    105.           
    106.         /*OutputStream os=new FileOutputStream(new File("F:\\outproduct.xls")); 
    107.          
    108.         wb.write(os); 
    109.         os.flush(); 
    110.         os.close();*/  
    111.           
    112.         //下载(使用了我们的工具类)  
    113.         DownloadUtil du=new DownloadUtil();  
    114.         ByteArrayOutputStream bs=new ByteArrayOutputStream();  
    115.         wb.write(bs);  
    116.         du.download(bs, response, "出货表.xlsx");  
    117.           
    118.     }  



    仔细观察,我们只改了两个地方:
    Workbook wb=new XSSFWorkbook();//打开一个模板文件,2007Excel以上版本

    du.download(bs, response, "出货表.xlsx");
    展开全文
  • XSSF试用

    千次阅读 2015-02-25 12:01:34
    跨站脚本攻击框架(XSSF)使利用跨站脚本漏洞进行渗透攻击变得异常方便和快捷。该框架配合Metasploit的攻击模块真实地反映了跨站脚本漏洞的危害。XSSF不仅具有辅助的攻击功能,而且还提供与目标主机浏览器的通信信息...

          跨站脚本攻击框架(XSSF)使利用跨站脚本漏洞进行渗透攻击变得异常方便和快捷。该框架配合Metasploit的攻击模块真实地反映了跨站脚本漏洞的危害。XSSF不仅具有辅助的攻击功能,而且还提供与目标主机浏览器的通信信息功能,这样便于攻击者进一步对内网进行渗透。

          XSSF目前的最新版本为3.0版本,该项目地址为https://code.google.com/p/xssf/,可在该主页下载到最新版本。下载完成后,解压压缩包,并把里面的四个文件夹Data、lib、modules、plugin合并到BT5中的/opt/framework/msf3里面的几个相应的目录中。在Kali1.1.0下安装命令如下:

    cd /opt/metasploit/apps/pro/msf3/
    svn export http://xssf.googlecode.com/svn/trunk ./ –force

          以上步骤完成之后,我们在Metasploit中加载XSSF的命令,如下图所示:

    001

          成功载入XSSF模块后,输入xssf_urls查看基本的配置信息。如下图所示:

    002

          其中url中带gui字样的,表示给出了Web界面的攻击控制模块,在浏览器中打开会很直观方便。在存在存储型跨站漏洞的地方放入http://10.10.10.139:8888/loop,当第三方浏览时,在BT5下就可以看到受害者。利用《Metasploit渗透测试魔鬼训练营》提供的环境,我们来重新演示一下Metasploit和XSSF相结合的攻击过程。

          在存在存储型XSS漏洞的地方,构造JS脚本,插入http://10.10.10.139:8888/loop。如下图所示:

    003

          当第三方浏览这个博客的时候(浏览该博客的主机IP地址为10.10.10.144),如下图在IE8打开博客:

    004

          在BT5的msfconsole下输入xssf_victims命令,可以看到如下所示:

    005

          10.10.10.144所在主机已经被成功攻击。在msf下输入xssf_information 1可以得到被攻击主机的相关信息,如下图所示:

    006

          接下来,利用Metasploit进一步进行攻击。在msf下输入auxiliary/server/browser_autopwn(该辅助功能模块在用户访问Web页面时,它会自动攻击受害者的浏览器,在开始攻击之前,browser_autopwn能够检测用户使用的浏览器类型,browser_autopwn将根据浏览器的检测结果,自行部署最合适的exploit)找到可以利用的浏览器攻击载荷,我使用了ie_createobject这个exploit,但是在IE6使用过程中,出现问题。

          在IE6中,由于引入的JS库在该版本中存在BUG,所以当我们在<head></head>标记之间引用document.body时会出现document.body为空或不是对象,这时可将代码移至<body></body>标签之间,该问题即可解决。我尝试了好几次,都失败了,对JavaScript不是很熟悉,暂时搁置这个exploit的使用。

          换了一个exploit,来继续演示xssf的使用。使用exploit/windows/browser/ms11_003_ie_css_import这个exploit。如下图所示:

    007

          选择一个payload,如下图所示:

    008

          配置好之后,运行之前所选择的exploit,得到如下图所示:

    010

          接下来使用xssf_victims和jobs命令得到被攻击者和配置相关信息,如下图所示:

    011

          最后,关键的一步来了,现在可以利用xssf_exploit来完成对被攻击机的攻击了,得到一个meterpreter,如下图所示:

    012

          在这里,我遇到一个问题,exploit成功之后,meterpreter会卡死,按下CTRL+C中断后,然后输入sessions可以看到已经利用成功了。输入命令ifconfig得到被攻击者的相关信息,如下图所示:

    013

          到此为止,使用XSSF就可以从浏览器的xss得到操作系统的shell了。

    展开全文
  • XSSF安全工具

    2013-04-03 15:40:29
    Cross-Site Scripting Framework (XSSF)是一款安全工具,使用它可以非常容易的利用跨站脚本(XSS)漏洞。XSSF项目的主要目的是展示XSS的实际危害。
  • XSSF创建Excel高版本

    2017-08-27 16:17:44
    XSSF创建Excel高版本
  • 记录XSSF与XSSH

    2020-09-19 19:02:54
    记录XSSF与XSSH 记录XSSF与XSSH 关于 HSSF 和 XSSF 功能的开发者入门指南 (Apache POI 操作 Excel) 英文站 http://poi.apache.org/components/spreadsheet/quick-guide.html 中文部分翻译 ...

    记录XSSF与XSSH

    记录XSSF与XSSH

    关于 HSSF 和 XSSF 功能的开发者入门指南 (Apache POI 操作 Excel)

    英文站
    http://poi.apache.org/components/spreadsheet/quick-guide.html

    中文部分翻译
    https://www.cnblogs.com/XZHR/p/5634609.html

    展开全文
  • xssf导入excel

    2020-06-02 16:33:22
    Java用XSSFWorkbook实现excel简单读写 一、概述 二、所需的jar 三、XSSFWorkbook的使用方法 四、源代码 一、概述 ...其中 POI-HSSF 和 POI-XSSF 是用来处理 excel 文件的组件,前者对应 97~2007版本的文

    Java用XSSFWorkbook实现excel简单读写
    一、概述
    二、所需的jar
    三、XSSFWorkbook的使用方法
    四、源代码
    一、概述
    Apache POI是 Java 程序员用来处理 MS Office 文件的常用开源库。由 Apache 软件基金会开发,使用 Java 分布式设计或修改 Microsoft Office 文件,包含一系列类和方法对用户输入数据或文件进行编码和解码。其中 POI-HSSF 和 POI-XSSF 是用来处理 excel 文件的组件,前者对应 97~2007版本的文件格式(.xls), 后者对应07以后的格式(.xlsx),更多关于 POI 的介绍请访问官方主页。
    个人觉得 POI 对 office 的对象进行了很好的抽象设计,因此学习起来比较平滑。在阅读学习的同时打开excel进行同步操作,你会感觉到使用 POI 和使用 office 一样简单。

    二、所需的jar
    进行操作之前,先用maven等工具导入依赖包,或者手动下载jar导入classpath

    org.apache.poi 3.14

    三、XSSFWorkbook的使用方法
    // 07之前版本
    Workbook wb = new HSSFWorkbook();
    FileOutputStream fileOut = new FileOutputStream(“workbook.xls”);
    wb.write(fileOut);
    fileOut.close();
    // 07之后版本 Workbook wb = new XSSFWorkbook();
    FileOutputStream fileOut = new FileOutputStream(“workbook.xlsx”);
    wb.write(fileOut);
    fileOut.close();

    **注:我用的是07之后版本 **

    // wb 可以是上述创建的两个对象之一
    Sheet sheet = wb.createSheet(); Sheet sheet =
    wb.createSheet(“库存”);

    // 1. 首先创建行,声明行的索引,从0开始。
    Row row = sheet.createRow(0);

    四、源代码
    实体类:

    private int index;
    private String name;
    private String age;
    private String brithday;

    public ExcelInfo() {
    }
    
    public ExcelInfo(int index, String name, String age, String brithday) {
    	this.index = index;
    	this.name = name;
    	this.age = age;
    	this.brithday = brithday;
    }
    //省略get/set方法
    
    @Override
    public String toString() {
    	return "第" + index + "行的数据如:姓名:" + name + ",年龄:" + age + ",生日:" + brithday ;
    }
    

    导出Excel类:

    public static void main(String[] args) {

    	List<ExcelInfo> list = new ArrayList<ExcelInfo>();
    	list.add(new ExcelInfo(1, "石头", "24", "6/12"));
    	list.add(new ExcelInfo(2, "火男", "25", "6/13"));
    	list.add(new ExcelInfo(3, "火女", "26", "6/14"));
    	list.add(new ExcelInfo(4, "武器", "27", "6/15"));
    	list.add(new ExcelInfo(5, "提莫", "28", "6/16"));
    	excelExp("D:\\eclipse-project\\javaweb\\AccessTest\\excel\\result.xlsx", list);
    }
    
    public static void excelExp(String filePath, List<ExcelInfo> list) {
    	Workbook wb = null;
    	OutputStream out = null;
    	try {
    		wb = new XSSFWorkbook();
    		Sheet sheet = wb.createSheet("联系表"); //重命名sheet1的工作表名
    		Row r = sheet.createRow(0);			//0 表示 第一行
    		r.createCell(0).setCellValue("姓名");
    		r.createCell(1).setCellValue("年龄");
    		r.createCell(2).setCellValue("生日");	//给表头定义字段名
    
    		for (ExcelInfo user : list) {
    			r = sheet.createRow(user.getIndex()); //按照对象的index对应第几行
    			r.createCell(0).setCellValue(user.getName());
    			r.createCell(1).setCellValue(user.getAge());
    			r.createCell(2).setCellValue(user.getDate());
    		}
    		out = new FileOutputStream(filePath); // 字节输出流
    		wb.write(out); //导出excel
    	} catch (Exception e) {
    		e.printStackTrace();
    	} finally {
    		try {
    			out.close();
    		} catch (IOException e) {
    			e.printStackTrace();
    		}
    	}
    }
    

    准备被读入的excel内容如下:

    控制台输出如下图:

    注:输出形式是根据toString()形式输出,可以改为自己喜欢的方式,请修改实体类中的toString()。

    读入类

    public static void main(String[] args) throws IOException {
    List list = importExcel(“D:\eclipse-project\javaweb\AccessTest\excel\test.xlsx”);
    for (ExcelInfo excelInfo : list) {
    System.out.println(excelInfo);
    }
    }

    public static List<ExcelInfo> importExcel(String file) throws IOException {
    	FileInputStream in = null;
    	List<ExcelInfo> result = null;
    	try {
    		in = new FileInputStream(file);
    		result = new ArrayList<ExcelInfo>();
    		Workbook wb = new XSSFWorkbook(in); //基于文件字节输入流 创建工作簿对象
    		Sheet sheet = wb.getSheetAt(0); // sheetIndex 表示 第一个工作表
    		for (Row row : sheet) {
    			if (row.getRowNum() < 1) {	//因为第一行是一些字段名,此行不获取字符串
    				continue;
    			}
    			String cellValue = new String(); //用来赋值,取格式化后的日期字符串
    			ExcelInfo eInfo = new ExcelInfo();
    			eInfo.setIndex(row.getRowNum());
    			eInfo.setName(row.getCell(0).getStringCellValue());	//获取第一列单元表格的数据值
    			row.getCell(1).setCellType(Cell.CELL_TYPE_STRING); //因为年龄的数据值是一个数值,所以需要进行转字符串,否则报异常
    			eInfo.setAge(row.getCell(1).getStringCellValue());
    			SimpleDateFormat formatter = new SimpleDateFormat("MM-dd");	//定义时间格式化对象
    			Date dateCell = row.getCell(2).getDateCellValue(); // 
    			cellValue = formatter.format(dateCell);//进行日期格式化
    			eInfo.setBrithday(cellValue);
    			result.add(eInfo);
    		}
    
    		wb.close();
    	} catch (Exception e) {
    		e.printStackTrace();
    	} finally {
    		in.close();
    	}
    	return result;
    }
    

    导出的excel内容如下图
    在这里插入图片描述

    补充:
    如果你是用request 接收,写法如下:

    // 转换request,解析出request中的文件
    	MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
    
    	// 获取文件map集合
    	Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
    for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
          MultipartFile   file = entity.getValue();
          // 创建workbook
          XSSFWorkbook wb = new XSSFWorkbook(file.getInputStream());
         Sheet xssfSheet = wb.get(0);
             //循环取每行的数据
        for (int rowIndex = 1; rowIndex < xssfSheet.getPhysicalNumberOfRows(); rowIndex++) {
            XSSFRow xssfRow = xssfSheet.getRow(rowIndex);
            if (xssfRow == null) {
                continue;
            }
    
    
            //循环取每个单元格(cell)的数据
            for (int cellIndex = 0; cellIndex < xssfRow.getPhysicalNumberOfCells();     cellIndex++) {
               
            }
            
           //   这里说下获取不同类型的值:
                 ① 获取String 类型
                 cell.setCellType(Cell.CELL_TYPE_STRING);
                 String  a = cell.getStringCellValue();
                 ② 获取 日期类型,实体类为Date类型,要求格式yyyy-MM-dd
                double value = cell.getNumericCellValue();
                if(0.0!=value){
                    Date d = org.apache.poi.ss.usermodel.DateUtil.getJavaDate(value);
                    SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd");
                    String dateStr =  f.format(d);
                    Date  date  =  sdf.parse(dateStr);
                    
                }
                ③ 获取BigDecimal类型
             cell.setCellType(Cell.CELL_TYPE_STRING);
             new BigDecimal(cell.getStringCellValue());    
        }
      
    }
    

    原文链接:https://blog.csdn.net/qq_35525955/article/details/80904844

    展开全文
  • Xssf配合metaspolit使用

    2019-10-01 21:38:24
    安装xssf download:svnexporthttp://xssf.googlecode.com/svn/trunk/home/User/xssf install:svnexporthttp://xssf.googlecode.com/svn/trunk./--force 连接metaspolit: https://code.google.com...
  • HSSF 提供读写旧版本Excel的功能,而XSSF提供读写新版本Excel格式档案的功能,所以在项目中我们大部分使用的XSSF的方法来导出Excel,毕竟我们没法要求客户使用的是哪个版本的office。但是新版本的兼容旧版的office,...
  • POI操作Excel详解,HSSF和XSSF文章源码 开发中经常会设计到excel的处理,如导出Excel,导入Excel到数据库中,操作Excel目前有两个框架,一个是apache 的poi
  • android poi xssf出错

    2017-11-05 06:50:04
    394) at org.apache.poi.xssf.usermodel.XSSFWorkbook.newPackage(XSSFWorkbook.java:480) at org.apache.poi.xssf.usermodel.XSSFWorkbook.(XSSFWorkbook.java:247) at org.apache.poi.xssf.usermodel....
  • POI XSSF 图表操作

    2020-09-01 11:39:13
    import org.apache.poi.ss....import org.apache.poi.xssf.usermodel.*; import org.openxmlformats.schemas.drawingml.x2006.chart.*; import java.awt.*; import java.util.ArrayList; import java.util.HashMap; i
  • packagecn.monolog.diana.excel.controller;importcn.monolog.diana.excel.util.ExcelUtil;importcn.monolog.diana.excel.model....importorg.apache.poi.xssf.usermodel.XSSFWorkbook;importorg.springframewor...
  • kali2.0 metasploit安装xssf模块

    千次阅读 2017-06-20 12:05:35
    在文章中说的/opt/目录下msf的主目录根本不存在,就更别提安装xssf了。 下载xssf3.0压缩包的地址https://code.google.com/archive/p/xssf/downloads 推荐一个youtube视频,详细介绍kali2.0如何安装xssf模块(需翻墙...
  • 最近需要做的功能用到了poi的颜色,但是网上都是hssf格式的,而xssf中用到的颜色都是一个short类型的数字,不知道什么数字对应什么颜色,于是写了个程序查看数字对应颜色。1、直接上代码public static void main...
  • 先科学上网,在如下url中下载最新的那个压缩包 https://code.google.com/archive/p/xssf/downloads 再把data、lib、module、plugin四个目录中的文件复制到metasploit的安装目录里对应的四个...msf中加载xssf模块 ...
  • xssf跨站脚本攻击基本命令 准备工作 将下载的xssf文件夹中的data等四个文件夹中的文件,分别复制到msf下的data等相对应的目录下。Linux里面cp 文件名 -R 目标文件目录,将指定目录下的文件及子目录一并复制到目标...
  • xssf 自定义颜色

    2013-10-14 00:32:32
    环境:poi3.9+xssf+excel2013+template.xlsx文件   背景:在用poi写excel时,单元格的颜色需求是必须要模板中的一样。   思路:先用【颜色摘取器】将颜色的RGB摘下来,然后用XSSF实现自定义颜色即可。    ...
  • java导出Excel使用的XSSF

    2017-11-27 10:32:37
    java导出Excel怎么设置样式使用的是XSSF // 声明一个工作薄 XSSFWorkbook workbook = new XSSFWorkbook(); // 生成一个表格 XSSFSheet sheet = workbook.createSheet(fileName); // 设置表格默认列宽度...
  • Day 33 POI-HSSF/XSSF

    2019-08-28 11:20:06
    POI提供了HSSF、XSSF以及SXSSF三种方式操作Excel。 HSSF:Excel97-2003版本,扩展名为.xls。一个sheet最大行数65536,最大列数256。 XSSF:Excel2007版本开始,扩展名为.xlsx。一个sheet最大行数1048576,最大列数...
  • HSSF,XSSF和SXSSF的区别

    2019-10-22 16:09:26
    XSSF是POI工程对Excel 2007 OOXML (.xlsx)文件操作的纯Java实现 从POI 3.8版本开始,提供了一种基于XSSF的低内存占用的API----SXSSF SXSSF通过一个滑动窗口来限制访问Row的数量从而达到低内存占用的目录,XSSF可以...
  • POI-HSSF和POI-XSSF和SXSSF(自POI 3.8 beta3起)-用于访问Microsoft Excel格式文件
  • HSSF与XSSF的区别?

    2019-07-02 19:06:00
    HSSF对应97-2003版本的Excel,XSSF则对应2007版本的Excel。 转载于:https://www.cnblogs.com/longmenzhitong/p/11122648.html
  • POI的XSSF与SXSSF总结

    2020-06-08 16:21:17
    POI的XSSF与SXSSF总结前言可能出现的内存溢出(OutOfMemoryError)功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容...
  • Apache POI HSSF and XSSF 快速指南帮助文档 API poi-3.15
  • Apache POI HSSF和XSSF读写EXCEL总结
  • XSSF创建高版本Excel

    2017-08-27 16:20:33
    xls一般为Excel 97 03版本 ...使用XSSF创建高版本Excel import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import org.apache.commons.io.FileUtils; import org.apac

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,868
精华内容 747
关键字:

xssf