⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testworkbook.java

📁 Office格式转换代码
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        cell.setCellValue(LAST_NAME_VALUE);        cell = sheet.getRow(( short ) 4).getCell(( short ) 2);        cell.setCellValue(FIRST_NAME_VALUE);        cell = sheet.getRow(( short ) 5).getCell(( short ) 2);        cell.setCellValue(SSN_VALUE);        File             destination = File.createTempFile("EmployeeResult",                                           ".xls");        FileOutputStream outstream   = new FileOutputStream(destination);        workbook.write(outstream);        instream.close();        outstream.close();        instream = new FileInputStream(destination);        workbook = new HSSFWorkbook(new POIFSFileSystem(instream));        sheet    = workbook.getSheetAt(0);        assertEquals(EMPLOYEE_INFORMATION,                     sheet.getRow(1).getCell(( short ) 1)                         .getStringCellValue());        assertEquals(LAST_NAME_VALUE,                     sheet.getRow(3).getCell(( short ) 2)                         .getStringCellValue());        assertEquals(FIRST_NAME_VALUE,                     sheet.getRow(4).getCell(( short ) 2)                         .getStringCellValue());        assertEquals(SSN_VALUE,                     sheet.getRow(5).getCell(( short ) 2)                         .getStringCellValue());        instream.close();    }    /**     * TEST NAME:  Test Read Sheet with an RK number<P>     * OBJECTIVE:  Test that HSSF can read a simple spreadsheet with and RKRecord and correctly     *             identify the cell as numeric and convert it to a NumberRecord.  <P>     * SUCCESS:    HSSF reads a sheet.  HSSF returns that the cell is a numeric type cell.    <P>     * FAILURE:    HSSF does not read a sheet or excepts.  HSSF incorrectly indentifies the cell<P>     *     */    public void testReadSheetWithRK()        throws IOException    {        String filename = System.getProperty("HSSF.testdata.path");        filename = filename + "/rk.xls";        // a.xls has a value on position (0,0)        FileInputStream in = new FileInputStream(filename);        POIFSFileSystem fs = new POIFSFileSystem(in);        HSSFWorkbook    h  = new HSSFWorkbook(fs);        HSSFSheet       s  = h.getSheetAt(0);        HSSFRow         r  = s.getRow(0);        HSSFCell        c  = r.getCell(( short ) 0);        int             a  = c.getCellType();        assertEquals(a, c.CELL_TYPE_NUMERIC);    }    /**     * TEST NAME:  Test Write/Modify Sheet Simple <P>     * OBJECTIVE:  Test that HSSF can create a simple spreadsheet with numeric and string values,     *             remove some rows, yet still have a valid file/data.<P>     * SUCCESS:    HSSF creates a sheet.  Filesize matches a known good.  HSSFSheet objects     *             Last row, first row is tested against the correct values (74,25).<P>     * FAILURE:    HSSF does not create a sheet or excepts.  Filesize does not match the known good.     *             HSSFSheet last row or first row is incorrect.             <P>     *     */    public void testWriteModifySheetMerged()        throws IOException    {        File             file = File.createTempFile("testWriteSheetMerged",                                                    ".xls");        FileOutputStream out  = new FileOutputStream(file);        FileInputStream  in   = null;        HSSFWorkbook     wb   = new HSSFWorkbook();        HSSFSheet        s    = wb.createSheet();        HSSFRow          r    = null;        HSSFCell         c    = null;        for (short rownum = ( short ) 0; rownum < 100; rownum++)        {            r = s.createRow(rownum);            // r.setRowNum(( short ) rownum);            for (short cellnum = ( short ) 0; cellnum < 50; cellnum += 2)            {                c = r.createCell(cellnum);                c.setCellValue(rownum * 10000 + cellnum                               + ((( double ) rownum / 1000)                                  + (( double ) cellnum / 10000)));                c = r.createCell(( short ) (cellnum + 1));                c.setCellValue("TEST");            }        }        s.addMergedRegion(new Region(( short ) 0, ( short ) 0, ( short ) 10,                                     ( short ) 10));        s.addMergedRegion(new Region(( short ) 30, ( short ) 5, ( short ) 40,                                     ( short ) 15));        wb.write(out);        out.close();        sanityChecker.checkHSSFWorkbook(wb);        in = new FileInputStream(file);        wb = new HSSFWorkbook(new POIFSFileSystem(in));        s  = wb.getSheetAt(0);        Region r1 = s.getMergedRegionAt(0);        Region r2 = s.getMergedRegionAt(1);        in.close();        // System.out.println(file.length());        // assertEquals("FILE LENGTH == 87552",file.length(), 87552);        // System.out.println(s.getLastRowNum());        assertEquals("REGION1 = 0,0,10,10", 0,                     new Region(( short ) 0, ( short ) 0, ( short ) 10,                                ( short ) 10).compareTo(r1));        assertEquals("REGION2 == 30,5,40,15", 0,                     new Region(( short ) 30, ( short ) 5, ( short ) 40,                                ( short ) 15).compareTo(r2));    }    /**     * Test the backup field gets set as expected.     */    public void testBackupRecord()        throws Exception    {        HSSFWorkbook wb       = new HSSFWorkbook();        wb.createSheet();        Workbook     workbook = wb.getWorkbook();        BackupRecord record   = workbook.getBackupRecord();        assertEquals(0, record.getBackup());        wb.setBackupFlag(true);        assertEquals(1, record.getBackup());    }    /**     * This tests is for bug [ #506658 ] Repeating output.     *     * We need to make sure only one LabelSSTRecord is produced.     */    public void testRepeatingBug()        throws Exception    {        HSSFWorkbook workbook = new HSSFWorkbook();        HSSFSheet    sheet    = workbook.createSheet("Design Variants");        HSSFRow      row      = sheet.createRow(( short ) 2);        HSSFCell     cell     = row.createCell(( short ) 1);        cell.setCellValue("Class");        cell = row.createCell(( short ) 2);        // workbook.write(new FileOutputStream("/a2.xls"));        ValueRecordsAggregate valueAggregate =            ( ValueRecordsAggregate ) sheet.getSheet()                .findFirstRecordBySid(ValueRecordsAggregate.sid);        int                   sstRecords     = 0;        Iterator              iterator       = valueAggregate.getIterator();        while (iterator.hasNext())        {            if ((( Record ) iterator.next()).getSid() == LabelSSTRecord.sid)            {                sstRecords++;            }        }        assertEquals(1, sstRecords);    }    public void testManyRows()        throws Exception    {        String testName = "TestManyRows";        File file = File.createTempFile(testName, ".xls");        FileOutputStream out  = new FileOutputStream(file);        HSSFWorkbook workbook = new HSSFWorkbook();        HSSFSheet sheet = workbook.createSheet();        HSSFRow row = null;        HSSFCell cell = null;        int i, j;        for ( i = 0, j = 32771; j > 0; i++, j-- )        {            row = sheet.createRow(i);            cell = row.createCell((short) 0);            cell.setCellValue(i);        }        workbook.write(out);        out.close();        sanityChecker.checkHSSFWorkbook(workbook);        assertEquals("LAST ROW == 32770", 32770, sheet.getLastRowNum());        double lastVal = cell.getNumericCellValue();        FileInputStream in      = new FileInputStream(file);        POIFSFileSystem fs       = new POIFSFileSystem(in);        HSSFWorkbook    wb = new HSSFWorkbook(fs);        HSSFSheet       s    = wb.getSheetAt(0);        row = s.getRow(32770);        cell = row.getCell(( short ) 0);        assertEquals("Value from last row == 32770", lastVal, cell.getNumericCellValue(), 0);        assertEquals("LAST ROW == 32770", 32770, s.getLastRowNum());        in.close();        file.deleteOnExit();    }        /**     * Generate a file to visually/programmatically verify repeating rows and cols made it     */    public void testRepeatingColsRows() throws IOException    {		HSSFWorkbook workbook = new HSSFWorkbook();        		HSSFSheet sheet = workbook.createSheet("Test Print Titles");                		String sheetName = workbook.getSheetName(0);	     	    HSSFRow row = sheet.createRow(0);	    	    HSSFCell cell = row.createCell((short)1);	    cell.setCellValue("hi");	     	     		workbook.setRepeatingRowsAndColumns(0, 0, 1, 0, 0); 	     		File file = File.createTempFile("testPrintTitles",".xls");        	     		FileOutputStream fileOut = new FileOutputStream(file);		workbook.write(fileOut);		fileOut.close();	     		assertTrue("file exists",file.exists());	         	    }          public static void main(String [] ignored_args)    {        String filename = System.getProperty("HSSF.testdata.path");        // assume this is relative to basedir        if (filename == null)        {            System.setProperty(                "HSSF.testdata.path",                "src/testcases/org/apache/poi/hssf/data");        }        System.out            .println("Testing org.apache.poi.hssf.usermodel.HSSFWorkbook");        junit.textui.TestRunner.run(TestWorkbook.class);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -