Java 类org.apache.poi.ss.usermodel.Row 实例源码

项目:file-download-upload-zip-demo    文件:FileController.java   
@RequestMapping(value = "/test2.xlsx", produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
@ResponseBody
byte[] testDown() throws IOException, InvalidFormatException {
    Workbook workbook = new SXSSFWorkbook();
    Sheet sheet = workbook.createSheet();
    for (int i = 0; i < 60000; i++) {
        Row newRow = sheet.createRow(i);
        for (int j = 0; j < 100; j++) {
            newRow.createCell(j).setCellValue("test" + Math.random());
        }
    }
    ByteArrayOutputStream os = new ByteArrayOutputStream();
    workbook.write(os);
    byte[] bytes = os.toByteArray();
    return bytes;
}
项目:dashboard1b    文件:AdapterPoi.java   
/**
 * Método que se encarga de leer el libro de excel
 * cuya ruta recibimos en el constructor y devuelve una lista 
 * de ciudadanos
 * @return lista de Usuarios de la base de datos
 */
public List<CitizenDB> readExcelFile(){
    List<CitizenDB> citizens = new ArrayList<CitizenDB>(); 
    // para cada una de las hojas presentes en el documento de excel
    for(int i=0;i < workbook.getNumberOfSheets();i++){
        XSSFSheet sheet = this.workbook.getSheetAt(i);
        Iterator<Row> rowIterator = sheet.iterator();
        Row row;
        int counter = 0;
        //para cada fila de la hoja
        while(rowIterator.hasNext()){
            row = rowIterator.next();
            if (counter > 0) { //omitimos la cabecera (hay que mirar si hay un metodo de la API)
                Iterator<Cell> cellIterator = row.cellIterator();
                int j = 0;
                CitizenDB user = new CitizenDB();
                while (cellIterator.hasNext())  
                    this.insertCitizenField(user, j++, cellIterator.next());    
                user.setPassword(new GenerationPassword().passwordGenerator());
                citizens.add(user);
            }
            counter++;
        }
    }
    return citizens;
}
项目:excel-utils    文件:ExcelExportUtil.java   
/** 创建不需要合并单元格的表头
 * @param fieldInfoMap
 * @param headCellStyleMap
 * @param row
 * @param fieldList
 * @param cellNum
 */
private static void doCreateSheetSingleHeadRow(Map<Field, ExportFieldInfo> fieldInfoMap,
        Map<Field, CellStyle> headCellStyleMap, Row row, List<SortableField> fieldList, int cellNum) {

    Cell cell;
    String value;
    for(int i = 0 ; i < fieldList.size() ; i++ , cellNum++){
        Field field = fieldList.get(i).getField();
        value = fieldInfoMap.get(field).getHeadName();
        cell = row.createCell(cellNum);
        cell.setCellValue(value);
        if( headCellStyleMap != null && headCellStyleMap.get(field) != null ){
            cell.setCellStyle(headCellStyleMap.get(field));
        }
    }
}
项目:ExcelToXml    文件:ExcelToXml.java   
private List<String> getClasses(Row classRow) {
    //声明一个list,用来存放所有的字段类型
    List<String> classList = new ArrayList<String>();
    //判断这一行是否为空
    if (classRow != null) {
        //遍历这一行的所有单元格
        for (int i = 0; i < classRow.getLastCellNum(); i++) {
            //获取单元格
            Cell cell = classRow.getCell(i);
            //判断单元格是否为空
            if (cell != null) {
                //将单元格的内容存放到list中
                classList.add(cell.getStringCellValue());
            }
        }
    }
    //返回所有的字段类型
    return classList;
}
项目:SpotSpotter    文件:Excel4J.java   
public static void createWorkBook() throws IOException {
    // ����excel������
    final Workbook wb = new XSSFWorkbook();
    // ����sheet��ҳ��
    final Sheet sheet1 = wb.createSheet("Sheet_1");
    final Sheet sheet2 = wb.createSheet("Sheet_2");

    for (int i = 0; i < 20; i = i + 2) {
        final Row row1 = sheet1.createRow(i);
        final Row row2 = sheet2.createRow(i);

        for (int j = 0; j < 10; j++) {

            row1.createCell(j).setCellValue(j + "new");
            row2.createCell(j).setCellValue(j + "This is a string");

        }
    }
    // ����һ���ļ� ����Ϊworkbooks.xlsx
    final FileOutputStream fileOut = new FileOutputStream("d:\\workbooks.xlsx");
    // �����洴���Ĺ�����������ļ���
    wb.write(fileOut);
    // �ر������
    fileOut.close();
}
项目:Excel2XML    文件:E2xCmdline.java   
/**
 * Exports a single sheet to a file
 *
 * @param sheet
 * @throws FactoryConfigurationError
 * @throws XMLStreamException
 * @throws UnsupportedEncodingException
 * @throws FileNotFoundException
 */
private void export(final XSSFSheet sheet, final XMLStreamWriter out)
        throws UnsupportedEncodingException, XMLStreamException, FactoryConfigurationError, FileNotFoundException {
    boolean isFirst = true;
    final Map<String, String> columns = new HashMap<String, String>();
    final String sheetName = sheet.getSheetName();
    System.out.print(sheetName);
    out.writeStartElement("sheet");
    out.writeAttribute("name", sheetName);
    Iterator<Row> rowIterator = sheet.rowIterator();
    while (rowIterator.hasNext()) {
        Row row = rowIterator.next();
        if (isFirst) {
            isFirst = false;
            this.writeFirstRow(row, out, columns);
        } else {
            this.writeRow(row, out, columns);
        }
    }
    out.writeEndElement();
    System.out.println("..");
}
项目:mumu    文件:ExcelParser.java   
/**
 * 解析行
 * @param row
 * @return
 */
protected List<Object> parseRow(Row row) {
    List<Object> rowData = new ArrayList<Object>();

    for (int i = 0; i < row.getLastCellNum(); i++) {
        Cell cell = row.getCell(i);
        Object cellObj=null;
        if(cell!=null){
            cellObj = parseCell(cell);
        }
        rowData.add(cellObj);
    }
    /*// 迭代 一行的各个单元格
    Iterator<Cell> cellIterator = row.iterator();
    // 遍历一行多列
    while (cellIterator.hasNext()) {
        Cell cell = cellIterator.next();
        Object cellObj = parseCell(cell);
        rowData.add(cellObj);
    }*/
    return rowData;
}
项目:poiji    文件:HSSFUnmarshaller.java   
public <T> List<T> unmarshal(Class<T> type) {
    Workbook workbook = poijiWorkbook.workbook();
    Sheet sheet = workbook.getSheetAt(options.sheetIndex());

    int skip = options.skip();
    int maxPhysicalNumberOfRows = sheet.getPhysicalNumberOfRows() + 1 - skip;
    List<T> list = new ArrayList<>(maxPhysicalNumberOfRows);

    for (Row currentRow : sheet) {

        if (skip(currentRow, skip))
            continue;

        if (isRowEmpty(currentRow))
            continue;

        if (maxPhysicalNumberOfRows > list.size()) {
            T t = deserialize0(currentRow, type);
            list.add(t);
        }
    }

    return list;
}
项目:hy.common.report    文件:JavaToExcel.java   
/**
 * 按报表模板格式写分页页眉标题
 * 
 * @author      ZhengWei(HY)
 * @createDate  2017-06-25
 * @version     v1.0
 *
 * @param i_DataWorkbook   数据工作薄
 * @param i_DataSheet      数据工作表
 * @param io_RTotal        将数据写入Excel时的辅助统计信息
 * @param io_RSystemValue  系统变量信息
 * @param i_Datas          数据
 * @param i_RTemplate      报表模板对象
 */
public final static void writeTitlePageHeader(RWorkbook i_DataWorkbook ,Sheet i_DataSheet ,RTotal io_RTotal ,RSystemValue io_RSystemValue ,Object i_Datas ,RTemplate i_RTemplate) 
{
    Sheet v_TemplateSheet    = i_RTemplate.getTemplateSheet();
    int   v_TemplateRowCount = io_RTotal.getTitlePageHeaderCount();
    int   v_ExcelRowIndex    = io_RTotal.getExcelRowIndex();

    copyMergedRegionsTitlePageHeader(i_RTemplate ,i_DataSheet ,io_RTotal);  // 按模板合并单元格
    copyImagesTitlePageHeader(       i_RTemplate ,i_DataSheet ,io_RTotal);  // 按模板复制图片

    io_RSystemValue.setPageNo(io_RSystemValue.getPageNo() + 1);

    for (int v_RowNo=0; v_RowNo<v_TemplateRowCount; v_RowNo++)
    {
        int v_TemplateRowNo = i_RTemplate.getTitlePageHeaderBeginRow() + v_RowNo;
        Row v_TemplateRow   = v_TemplateSheet.getRow(v_TemplateRowNo);

        int v_DataRowNo = v_RowNo + v_ExcelRowIndex;
        Row v_DataRow   = i_DataSheet.createRow(v_DataRowNo);
        io_RTotal.addExcelRowIndex(1);

        copyRow(i_RTemplate ,v_TemplateRow ,i_DataWorkbook ,io_RTotal ,io_RSystemValue ,v_DataRow ,i_Datas);
    }
}
项目:UtilsMaven    文件:Example.java   
public static void main(String[] args) throws Throwable {
        SXSSFWorkbook wb = new SXSSFWorkbook(100); // keep 100 rows in memory, exceeding rows will be flushed to disk
        Sheet sh = wb.createSheet();
        for (int rownum = 0; rownum < 1000; rownum++) {
            Row row = sh.createRow(rownum);
            Row row1 = sh.createRow(rownum);
            for (int cellnum = 0; cellnum < 10; cellnum++) {
                Cell cell = row.createCell(cellnum);
                String address = new CellReference(cell).formatAsString();
                cell.setCellValue(address);
            }

        }

        // Rows with rownum < 900 are flushed and not accessible
//        for (int rownum = 0; rownum < 103857; rownum++) {
//            Assert.assertNull(sh.getRow(rownum));
//        }
//
//        // ther last 100 rows are still in memory
//        for (int rownum = 103857; rownum < 104857; rownum++) {
//            Assert.assertNotNull(sh.getRow(rownum));
//        }

        File file = new File("C:\\Users\\FlyingHe\\Desktop", "datas.xlsx");
        FileOutputStream out = new FileOutputStream(file);
        wb.write(out);
        out.close();

        // dispose of temporary files backing this workbook on disk
        wb.dispose();
    }
项目:Excel2XML    文件:E2xCmdline.java   
private void writeRow(final Row row, final XMLStreamWriter out, final Map<String, String> columns) {
    try {
        int rowIndex = row.getRowNum();
        out.writeStartElement("row");
        final String rowNum = String.valueOf(rowIndex);
        out.writeAttribute("row", rowNum);
        int count = 0;
        Iterator<Cell> cellIterator = row.iterator();
        while (cellIterator.hasNext()) {
            Cell cell = cellIterator.next();
            int columnIndex = cell.getColumnIndex();
            if (this.exportEmptyCells) {
                while (count < columnIndex) {
                    this.writeAnyCell(rowIndex, count, null, out, columns);
                    count++;
                }
            }
            this.writeCell(cell, out, columns);
            count++;
        }
        out.writeEndElement();
    } catch (XMLStreamException e) {
        e.printStackTrace();
    }

}
项目:hy.common.report    文件:JavaToExcel.java   
/**
 * 按报表模板格式写入合计(暂时不支持分页功能)
 * 
 * @author      ZhengWei(HY)
 * @createDate  2017-03-18
 * @version     v1.0
 *
 * @param i_DataWorkbook   数据工作薄
 * @param i_DataSheet      数据工作表
 * @param io_RTotal        将数据写入Excel时的辅助统计信息
 * @param io_RSystemValue  系统变量信息
 * @param i_Datas          数据
 * @param i_RTemplate      报表模板对象
 */
public final static void writeTotal(RWorkbook i_DataWorkbook ,Sheet i_DataSheet ,RTotal io_RTotal ,RSystemValue io_RSystemValue, Object i_Datas ,RTemplate i_RTemplate) 
{
    Sheet v_TemplateSheet         = i_RTemplate.getTemplateSheet();
    int   v_TemplateRowCountTotal = i_RTemplate.getRowCountTotal();
    int   v_ExcelRowIndex         = io_RTotal.getExcelRowIndex();

    copyMergedRegionsTotal(i_RTemplate ,i_DataSheet ,io_RTotal);  // 按模板合并单元格
    copyImagesTotal(       i_RTemplate ,i_DataSheet ,io_RTotal);  // 按模板复制图片

    for (int v_RowNo=0; v_RowNo<v_TemplateRowCountTotal; v_RowNo++) 
    {
        int v_TemplateRowNo = i_RTemplate.getTotalBeginRow() + v_RowNo;
        Row v_TemplateRow   = v_TemplateSheet.getRow(v_TemplateRowNo);

        int v_DataRowNo = v_RowNo + v_ExcelRowIndex;
        Row v_DataRow   = i_DataSheet.createRow(v_DataRowNo);
        io_RTotal.addExcelRowIndex(1);
        io_RTotal.addRealDataCount(1);

        copyRow(i_RTemplate ,v_TemplateRow ,i_DataWorkbook ,io_RTotal ,io_RSystemValue ,v_DataRow ,i_Datas);
    }
}
项目:digital-display-garden-iteration-3-sixguysburgers-fries    文件:CommentWriter.java   
public CommentWriter(OutputStream outputStream) throws IOException{
    this.outputStream = outputStream;

    this.workbook = new XSSFWorkbook();
    this.sheet = workbook.createSheet("Comments");

    Row row = sheet.createRow(0);
    Cell cell = row.createCell(0);
    cell.setCellValue("#");

    cell = row.createCell(1);
    cell.setCellValue("comment");

    cell = row.createCell(2);
    cell.setCellValue("timestamp");

    rowCount = 1;
}
项目:excel-utils    文件:ExcelImportUtil.java   
/** 获取表头名
 * @param sheet
 * @param headRow
 * @return
 */
private static List<String> createHeadNameList(Sheet sheet ,int headRow){
    List<String> headNameList;
    Row row;
    int cellCount;
    Cell cell;
    try {
        row = sheet.getRow(headRow);
        cellCount = row.getPhysicalNumberOfCells();
        headNameList = new ArrayList<String>();
        cell = null;
        for(int i = 0 ; i < cellCount ; i++){
            cell = row.getCell(i);
            headNameList.add(cell.getStringCellValue());            
        }
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    }
    return headNameList;
}
项目:OfficeAutomation    文件:RowConvert.java   
private static <T> T convertWithMethod(Row row, Class<T> clazz) throws IllegalAccessException, InstantiationException, ParseException, InvocationTargetException {
    Field[] fields = new Field[]{};
    Class temp = clazz;
    while(temp != null){
        fields = ArrayUtils.addAll(temp.getDeclaredFields(),fields);
        temp = temp.getSuperclass();
    }
    Object object = clazz.newInstance();
    for (Field field : fields) {
        ExcelCellField filedExcelAnnotation = getAnnotationCellFiled(field.getAnnotations());
        if (filedExcelAnnotation == null) {
            continue;
        }
        Class<?> fieldType = field.getType();
        Integer index = filedExcelAnnotation.index();
        String propertyName = field.getName();
        Object value = getValue(fieldType, row.getCell(index), filedExcelAnnotation);
        if (value != null) {
            BeanUtils.setProperty(object, propertyName, value);
        }
    }
    return (T) object;
}
项目:gw4e.project    文件:XLTestSummarySheet.java   
public void print () {
    Sheet sheet =  getOrCreateSummary();
    Iterator<Row> rows = sheet.rowIterator();
    int index=0;
    while (rows.hasNext()) {
        Row row = (Row) rows.next();
        System.out.println("Row ---> " + index);
        Spliterator<Cell> cells = row.spliterator();
        cells.forEachRemaining(new Consumer<Cell> () {
            @Override
            public void accept(Cell cell) {
                System.out.print(cell.toString());
                System.out.print(";");
            }
        });
        System.out.println();
        index++;
    }
}
项目:oscm    文件:ExcelHandler.java   
private static void createRows(List<String> keyList,
        Map<String, ResourceBundle> defaultProperties,
        Map<String, Properties> localizedProperties, Sheet sheet,
        List<String> localeList, String sheetName) {
    sheet.createFreezePane(1, 1);
    int rowIdx = 1;
    int colIdx = 0;
    for (String key : keyList) {
        Row row = sheet.createRow(rowIdx++);
        colIdx = 0;
        row.createCell(colIdx++).setCellValue(key);

        for (String locale : localeList) {
            String cellValue = null;
            cellValue = getCellValue(defaultProperties,
                    localizedProperties, key, locale, sheetName);
            row.createCell(colIdx++).setCellValue(cellValue);
        }
    }
}
项目:oscm    文件:ExcelHandler.java   
private static List<String> readFirstRow(Sheet sheet)
        throws TranslationImportException, ValidationException {
    List<String> localeStringList = new ArrayList<String>();
    Row row = sheet.getRow(0);
    if (row != null) {
        int colIdx = 1; // skip the first col it contains the keys
        String localeString = "";
        while (true) {
            localeString = getCellValue(row, colIdx++, true);
            if (localeString == null) {
                break;
            }
            if (StandardLanguage.isStandardLanguage(localeString,
                    StandardLanguage.COLUMN_HEADING_SUFFIX)) {
                localeStringList.add(localeString);
                continue;
            }
            validateLocale(localeString);
            localeString = localeString.toLowerCase();
            localeStringList.add(localeString);
        }
    }
    return localeStringList;
}
项目:UtilsMaven    文件:XLSXWriter.java   
/**
 * 向当前Sheet第一行(1-based)写入标题,若用户没有开启写入标题总开关(即{@link #isWriteTitle}为false),
 * 或者{@link #titles}为空则不会做任何操作
 */
private void writeTitle() {
    if (!this.isWriteTitle || this.titles == null || this.titles.isEmpty()) {
        return;
    }
    this.currentRowInSheet++;
    Row row = this.currentSheetPO.createRow(this.currentRowInSheet);
    row.setHeight(this.rowHeight < 0 ? -1 : this.rowHeight);
    for (int i = 0; i < this.titles.size(); i++) {
        Cell cell = row.createCell(i);
        cell.setCellStyle(this.defaultTitleCellStyle);
        cell.setCellValue(this.titles.get(i));
    }
    this.realRowInSheet++;
    this.realRowInExcel++;
}
项目:ExcelToXml    文件:ExcelToXml.java   
private List<String> getAnnotations(Row annotationRow) {
    //声明一个list,用来存放所有的字段说明
    List<String> annotationList = new ArrayList<String>();
    //判断,字段说明那一行是否为空
    if (annotationRow != null) {
        //遍历字段说明这一行所有的单元格
        for (int i = 0; i < annotationRow.getLastCellNum(); i++) {
            //获取单元格
            Cell cell = annotationRow.getCell(i);
            //判断单元格是否为空
            if (cell != null) {
                //将单元格中的内容放入List中
                annotationList.add(cell.getStringCellValue());
            }
        }
    }
    //返回所有的字段说明
    return annotationList;
}
项目:gw4e.project    文件:XLTestDetailsSheet.java   
public void feedDetailsSheet(Sheet sheet, boolean exportAsTemplate, List<XLTestStep> xLTestSteps) {
    int index = 0;
    for (XLTestStep xLTestStep : xLTestSteps) {
        index++;
        Row row = sheet.createRow(index);
        Cell cell = row.createCell(STEPNAME_INDEX);
        cell.setCellValue(xLTestStep.getName());
        cell = row.createCell(EXPECTED_OR_ACTION_INDEX);
        cell.setCellValue(xLTestStep.getExpected());
        cell = row.createCell(RESULT_INDEX);
        if (exportAsTemplate)
            cell.setCellValue("");
        else
            cell.setCellValue(xLTestStep.getActual());
        cell = row.createCell(STATUS_INDEX);
        formatCellStatus(sheet, cell);
        if (exportAsTemplate)
            cell.setCellValue("");
        else
            cell.setCellValue(Integer.parseInt(xLTestStep.getStatus()));
    }
    this.autoSize(sheet, new int[] { 0, 1, 2, 3 });
}
项目:teemo    文件:ExcelReader.java   
private void setSheetData(SheetData data, String group) {
    data.setCurrentGroup(group);
    // start from 1
    data.setCurrentIndex(1);
    // get sheet
    Sheet vSheet = getWorkBook().getSheet(group);
    Assert.notNull(vSheet, "Can't get sheet with name: " + group);
    data.setSheet(vSheet);
    // get row number
    int vRowCount = vSheet.getLastRowNum() + 1;
    data.setRowCount(vRowCount);
    // get first row
    Row vRow = vSheet.getRow(0);
    Assert.notNull(vRow, "Invalid format: first row must be title");
    // get column number
    int vColumnCount = vRow.getLastCellNum();
    String[] vTitles = new String[vColumnCount];
    // read titles
    for (int i = 0; i < vColumnCount; ++i) {
        Cell vCell = vRow.getCell(i);
        vTitles[i] = vCell.getStringCellValue();
    }
    data.setTitles(vTitles);
}
项目:hy.common.report    文件:JavaToExcel.java   
/**
 * 按报表模板格式写入小计(暂时不支持分页功能)
 * 
 * @author      ZhengWei(HY)
 * @createDate  2017-03-27
 * @version     v1.0
 *
 * @param i_DataWorkbook   数据工作薄
 * @param i_DataSheet      数据工作表
 * @param io_RTotal        将数据写入Excel时的辅助统计信息
 * @param io_RSystemValue  系统变量信息
 * @param i_Datas          数据
 * @param i_RTemplate      报表模板对象
 */
public final static void writeSubtotal(RWorkbook i_DataWorkbook ,Sheet i_DataSheet ,RTotal io_RTotal ,RSystemValue io_RSystemValue, Object i_Datas ,RTemplate i_RTemplate) 
{
    Sheet v_TemplateSheet            = i_RTemplate.getTemplateSheet();
    int   v_TemplateRowCountSubtotal = i_RTemplate.getRowCountSubtotal();
    int   v_ExcelRowIndex            = io_RTotal.getExcelRowIndex();

    copyMergedRegionsSubtotal(i_RTemplate ,i_DataSheet ,io_RTotal);  // 按模板合并单元格
    copyImagesSubtotal(       i_RTemplate ,i_DataSheet ,io_RTotal);  // 按模板复制图片

    for (int v_RowNo=0; v_RowNo<v_TemplateRowCountSubtotal; v_RowNo++) 
    {
        int v_TemplateRowNo = i_RTemplate.getSubtotalBeginRow() + v_RowNo;
        Row v_TemplateRow   = v_TemplateSheet.getRow(v_TemplateRowNo);

        int v_DataRowNo = v_RowNo + v_ExcelRowIndex;
        Row v_DataRow   = i_DataSheet.createRow(v_DataRowNo);
        io_RTotal.addExcelRowIndex(1);
        io_RTotal.addRealDataCount(1);

        copyRow(i_RTemplate ,v_TemplateRow ,i_DataWorkbook ,io_RTotal ,io_RSystemValue ,v_DataRow ,i_Datas);
    }
}
项目:poiji    文件:HSSFUnmarshaller.java   
private <T> T deserialize0(Row currentRow, Class<T> type) {
    T instance;
    try {
        instance = type.getDeclaredConstructor().newInstance();
    } catch (NoSuchMethodException | InvocationTargetException | IllegalAccessException | InstantiationException e) {
        throw new PoijiInstantiationException("Cannot create a new instance of " + type.getName());
    }

    return setFieldValue(currentRow, type, instance);
}
项目:azeroth    文件:ExcelReader.java   
/**
 * 获取指定单元格的值
 *
 * @param rowNumber  行数,从1开始
 * @param cellNumber 列数,从1开始
 * @return 该单元格的值
 */
public String getCellValue(int rowNumber, int cellNumber) {
    String result;
    checkRowAndCell(rowNumber, cellNumber);
    Sheet sheet = this.workbook.getSheet(this.sheetName);
    Row row = sheet.getRow(--rowNumber);
    Cell cell = row.getCell(--cellNumber);
    switch (cell.getCellTypeEnum()) {
        case BLANK:
            result = cell.getStringCellValue();
            break;
        case BOOLEAN:
            result = String.valueOf(cell.getBooleanCellValue());
            break;
        case ERROR:
            result = String.valueOf(cell.getErrorCellValue());
            break;
        case FORMULA:
            result = cell.getCellFormula();
            break;
        case NUMERIC:
            if (DateUtil.isCellDateFormatted(cell)) {
                result = format.format(cell.getDateCellValue());
            } else {
                result = String.valueOf(cell.getNumericCellValue());
            }
            break;
        case STRING:
            result = cell.getRichStringCellValue().getString();
            break;
        default:
            result = cell.getStringCellValue();
            break;
    }
    return result;
}
项目:NICON    文件:ExporOnlyViagemExcel.java   
private void dataTableTitile(Sheet s, String titile, CellStyle csTitulo, CellStyle csTituloP,CellStyle csTituloTabelaNBorder) {

    Row r = s.createRow(linha);
    Cell c = r.createCell(2);
    createCellM(c, r, s, csTitulo, linha, linha + 3, ConfigDoc.Empresa.NOME, 1, 22);
    linha += 4;

    r = s.createRow(linha);
    createCellM(c, r, s, csTituloP, linha, linha, ConfigDoc.Empresa.ENDERECO, 1, 22);
    linha++;

    r = s.createRow(linha);
    createCellM(c, r, s, csTituloP, linha, linha, ConfigDoc.Empresa.CAIXAPOSTAL, 1, 22);
    linha++;

    r = s.createRow(linha);
    createCellM(c, r, s, csTituloP, linha, linha, ConfigDoc.Empresa.TELEFAX + " " + ConfigDoc.Empresa.EMAIL, 1, 22);
    linha++;

    r = s.createRow(linha);
    createCellM(c, r, s, csTituloP, linha, linha, ConfigDoc.Empresa.SOCIEDADE, 1, 22);
    linha += 3;

    r = s.createRow(linha);
    createCellM(c, r, s, csTituloTabelaNBorder, linha, linha, "TOTAL PREMIUM COLLECTED ON TRAVEL INSURANCE AND TAXES FOR "+titile, 1, 10);
    linha += 2;
}
项目:dsMatch    文件:AbstractDataSourceModelTransformer.java   
private Optional<DataSourceFieldDefinition<?>> cellToFieldDefinitionTransformer(final Cell headerCell,
                                                                                final Row dataRow) {

    notNull(headerCell, "Mandatory argument 'headerCell' is missing.");
    notNull(dataRow, "Mandatory argument 'dataRow' is missing.");
    final Cell cell = dataRow.getCell(headerCell.getColumnIndex());
    switch (cell.getCellTypeEnum()) {
        case BOOLEAN:
            return Optional.of(
                    new DefaultDataSourceFieldDefinition<>(headerCell.getStringCellValue(), Boolean.class));
        case NUMERIC:
            if (cellAppearsToBeADateType(headerCell, cell))
                return Optional.of(
                        new DefaultDataSourceFieldDefinition<>(headerCell.getStringCellValue(), Date.class));
            return Optional.of(
                    new DefaultDataSourceFieldDefinition<>(headerCell.getStringCellValue(), BigDecimal.class));
        case FORMULA:
        case ERROR:
            throw new IllegalStateException("Cell type not supported:" + cell.getCellTypeEnum());
        case STRING:
        case BLANK:
        case _NONE:
        default:
            return Optional.of(
                    new DefaultDataSourceFieldDefinition<>(headerCell.getStringCellValue(), String.class));
    }
}
项目:OfficeAutomation    文件:RowConvert.java   
public static <T> List<T> convertWithConstructor(Iterator<Row> rows, Class<T> clazz, boolean hasHeader) {
    List<T> dataList = Lists.newArrayList();
    while (rows.hasNext()) {
        Row row = rows.next();
        if (hasHeader && row.getRowNum() < 1) {
            continue;
        }
        try {
            dataList.add(convert(row, clazz));
        } catch (Exception e) {
            throw new RuntimeException(String.format(" convertWithConstructor has error: message=%s", e.getMessage()));
        }
    }
    return dataList;
}
项目:exam    文件:ExcelBuilder.java   
public static ByteArrayOutputStream build(Long examId, Collection<Long> childIds) throws IOException {

        List<ExamRecord> examRecords = Ebean.find(ExamRecord.class)
                .fetch("examScore")
                .where()
                .eq("exam.parent.id", examId)
                .in("exam.id", childIds)
                .findList();
        Workbook wb = new XSSFWorkbook();
        Sheet sheet = wb.createSheet("Exam records");
        String[] headers = ExamScore.getHeaders();
        Row headerRow = sheet.createRow(0);
        for (int i = 0; i < headers.length; i++) {
            headerRow.createCell(i).setCellValue(headers[i]);
        }
        for (ExamRecord record : examRecords) {
            String[] data = record.getExamScore().asArray(record.getStudent(), record.getTeacher(), record.getExam());
            Row dataRow = sheet.createRow(examRecords.indexOf(record) + 1);
            for (int i = 0; i < data.length; ++i) {
                dataRow.createCell(i).setCellValue(data[i]);
            }
        }
        IntStream.range(0, headers.length).forEach(i -> sheet.autoSizeColumn(i, true));
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        wb.write(bos);
        bos.close();
        return bos;
    }
项目:hy.common.report    文件:JavaToExcel.java   
/**
 * 按报表模板格式写入数据(支持分页页眉、分页页脚)
 * 
 * @author      ZhengWei(HY)
 * @createDate  2017-06-25
 * @version     v1.0
 *
 * @param i_DataWorkbook   数据工作薄
 * @param i_DataSheet      数据工作表
 * @param io_RTotal        将数据写入Excel时的辅助统计信息
 * @param io_RSystemValue  系统变量信息
 * @param i_Datas          数据
 * @param i_RTemplate      报表模板对象
 */
public final static void writeDataPage(RWorkbook i_DataWorkbook ,Sheet i_DataSheet ,RTotal io_RTotal ,RSystemValue io_RSystemValue, Object i_Datas ,RTemplate i_RTemplate) 
{
    Sheet v_TemplateSheet    = i_RTemplate.getTemplateSheet();
    int   v_TemplateRowCount = i_RTemplate.getRowCountData();
    int   v_ExcelRowIndex    = io_RTotal.getExcelRowIndex();
    int   v_PageIndex        = (io_RTotal.getRealDataCount() + io_RTotal.getTitleCount() * i_RTemplate.getTitleRatio() - i_RTemplate.getTitlePageHeaderRate()) % i_RTemplate.getPerPageRowSize();

    // 创建分页页眉。模板的"行(可对应Excel中的多行)"按一个不可再被分割的整体对待,固没有写在下面的For语句中。
    if ( v_PageIndex == 0 || io_RTotal.getRealDataCount() == i_RTemplate.getTitlePageHeaderFirstWriteByRealDataCount() )
    {
        writeTitlePageHeader(i_DataWorkbook ,i_DataSheet ,io_RTotal ,io_RSystemValue ,i_Datas ,i_RTemplate);
        v_ExcelRowIndex += io_RTotal.getTitlePageHeaderCount();
    }

    copyMergedRegionsData(i_RTemplate ,i_DataSheet ,io_RTotal);  // 按模板合并单元格
    copyImagesData(       i_RTemplate ,i_DataSheet ,io_RTotal);  // 按模板复制图片

    for (int v_RowNo=0; v_RowNo<v_TemplateRowCount; v_RowNo++) 
    {
        int v_TemplateRowNo = i_RTemplate.getDataBeginRow() + v_RowNo;
        Row v_TemplateRow   = v_TemplateSheet.getRow(v_TemplateRowNo);

        int v_DataRowNo = v_RowNo + v_ExcelRowIndex;
        Row v_DataRow   = i_DataSheet.createRow(v_DataRowNo);
        io_RTotal.addExcelRowIndex(1);
        io_RTotal.addRealDataCount(1);

        copyRowPageFooter(i_RTemplate ,v_TemplateRow ,i_DataWorkbook ,io_RTotal ,io_RSystemValue ,v_DataRow ,i_Datas);
    }

    // 创建分页页脚。模板的"行(可对应Excel中的多行)"按一个不可再被分割的整体对待,固没有写在下面的For语句中。
    v_PageIndex = (io_RTotal.getRealDataCount() + io_RTotal.getTitleCount() * i_RTemplate.getTitleRatio() - i_RTemplate.getTitlePageHeaderRate()) % i_RTemplate.getPerPageRowSize();
    if ( (v_PageIndex == 0 && io_RTotal.getRealDataCount() >= 1) || io_RTotal.getRealDataCount() == i_RTemplate.getTitlePageHeaderFirstWriteByRealDataCount() )
    {
        writeTitlePageFooter(i_DataWorkbook ,i_DataSheet ,io_RTotal ,io_RSystemValue ,i_Datas ,i_RTemplate);
        v_ExcelRowIndex += io_RTotal.getTitlePageFooterCount();
    }
}
项目:Excel-to-POJO    文件:RowParser.java   
public void parseRow(Row row, SheetFormat sf, Object obj) throws RowParsingException {

        Iterator<Cell> cellItr = row.iterator();
        cellItr.next(); // for sr. no. column skip
        for (ColumnFormat field : sf.getColumns())
            if (cellItr.hasNext()) {
                Cell cell = cellItr.next();
                try {
                    set(obj, field.getName(), getValue(cell, field.getType()));
                } catch (CellParsingException e) {
                    throw new RowParsingException(e.getMessage() + " , at row " + row.getRowNum());
                }
            }
    }
项目:practical-functional-java    文件:AwfulScriptGeneratorRefactoredStep1.java   
@Override
public List<String> generate(Sheet sheet) {
    List<String> lines = new ArrayList<>();
    for (Row row : sheet) {
        addInsertStatementsForRow(lines, row);
    }

    return lines;
}
项目:practical-functional-java    文件:AwfulScriptGeneratorRefactoredStep1.java   
private void addInsertStatementsForRow(List<String> lines, Row row) {
    Cell firstCell = row.getCell(0);
    if (firstCell != null) {
        String userId = firstCell.getStringCellValue();
        if (isValidUserId(userId)) {
            addInsertStatementsForRow(lines, row, userId);
        }
    }
}
项目:exam    文件:StatisticsController.java   
@Restrict({@Group("ADMIN")})
public Result getExamEnrollments(Long id) throws IOException {
    Exam proto = Ebean.find(Exam.class).fetch("examEnrolments").fetch("examEnrolments.user")
            .fetch("examEnrolments.reservation").fetch("course")
            .where().eq("id", id).isNull("parent").findUnique();
    if (proto == null) {
        return notFound("sitnet_error_exam_not_found");
    }
    Workbook wb = new XSSFWorkbook();
    Sheet sheet = wb.createSheet("enrolments");
    String[] headers = {"student name", "student ID", "student EPPN", "reservation time", "enrolment time"};
    addHeader(sheet, headers);
    for (ExamEnrolment e : proto.getExamEnrolments()) {
        String[] data = new String[5];
        data[0] = String.format("%s %s", e.getUser().getFirstName(), e.getUser().getLastName());
        data[1] = forceNotNull(e.getUser().getIdentifier());
        data[2] = e.getUser().getEppn();
        data[3] = e.getReservation() == null ? "" : ISODateTimeFormat.dateTimeNoMillis().print(
                new DateTime(e.getReservation().getStartAt()));
        data[4] = ISODateTimeFormat.dateTimeNoMillis().print(new DateTime(e.getEnrolledOn()));
        Row dataRow = sheet.createRow(proto.getExamEnrolments().indexOf(e) + 1);
        for (int i = 0; i < data.length; ++i) {
            dataRow.createCell(i).setCellValue(data[i]);
        }
    }
    IntStream.range(0, 5).forEach(i -> sheet.autoSizeColumn(i, true));

    response().setHeader("Content-Disposition", "attachment; filename=\"enrolments.xlsx\"");
    return ok(encode(wb));
}
项目:practical-functional-java    文件:AwfulScriptGeneratorRefactoredStep2.java   
private List<String> getInsertStatementsForRow(Row row) {
    List<String> lines = new ArrayList<>();
    Cell firstCell = row.getCell(0);
    if (firstCell != null) {
        String userId = firstCell.getStringCellValue();
        if (isValidUserId(userId)) {
            lines.addAll(getInsertStatementsForRow(row, userId));
        }
    }
    return lines;
}
项目:gw4e.project    文件:XLTestDetailsSheet.java   
private int createHeader(Sheet sheet, int rowNum, String[] titles) {
    Row headerRow = sheet.createRow(rowNum);
    headerRow.setHeightInPoints(40);
    Cell headerCell;
    int[] cols = new int[titles.length];
    for (int i = 0; i < titles.length; i++) {
        cols[i] = i;
        headerCell = headerRow.createCell(i);
        headerCell.setCellValue(titles[i]);
        headerCell.setCellStyle(styles.get("header"));
    }
    autoSize(sheet, cols);
    return rowNum;
}
项目:TextClassifier    文件:ExcelFileReader.java   
private Map<Characteristic, CharacteristicValue> getCharacteristicsValues(Row row, List<Characteristic> characteristics) {
  Map<Characteristic, CharacteristicValue> characteristicsValues = new HashMap<>();

  for (int i = 1; i < row.getLastCellNum(); i++) {
    characteristicsValues.put(characteristics.get(i - 1), new CharacteristicValue(row.getCell(i).getStringCellValue()));
  }

  return characteristicsValues;
}
项目:phoenix.webui.suite.runner    文件:ExcelSuiteParser.java   
/**
 * @param row
 * @param suiteAction
 */
private void rowParse(Row row, SuiteAction suiteAction)
{
    Cell nameCell = row.getCell(0);
    Cell actionCell = row.getCell(1);

    if(nameCell == null || actionCell == null)
    {
        return;
    }

    suiteAction.setField(nameCell.getStringCellValue());
    suiteAction.setName(actionCell.getStringCellValue());
}
项目:practical-functional-java    文件:AwfulScriptGeneratorRefactored.java   
@Override
public List<String> generate(Sheet sheet) {
    List<String> lines = new ArrayList<>();
    for (Row row : sheet) {
        addInsertStatementsForRow(lines, row);
    }

    return lines;
}
项目:file-format-streaming-converter    文件:XlsxToCsvConverter.java   
/**
 * @param inputStream      - an xlsx file as source input stream.
 * @param fileOutputStream - the OutputStream to write the translated file to.
 * @throws IOException if an I/O error occurs.
 * @throws NoSheetFoundException - if no sheets were found in the file at all.
 * @throws NoDataFoundException - if a non hidden sheet was found but it contained no data at all.
 */
public void convert(InputStream inputStream, FileOutputStream fileOutputStream) throws Exception {
    final Optional<Iterator<Row>> optionalRowIterator = getRowIterator(inputStream);
    Iterator<Row> rowIterator = optionalRowIterator.orElseThrow(NoSheetFoundException::new);
    try {
        List<String> headers = getRowAsList(rowIterator.next());
        final int rowSize = headers.size();
        try (CSVPrinter csvPrinter = createCSVPrinter(headers.toArray(new String[headers.size()]), delimiter, fileOutputStream)) {
            writeRowsToFile(rowIterator, rowSize, csvPrinter);
        }
    } catch (NoSuchElementException e) {
        logger.error("File is empty, exiting converter");
        throw new NoDataFoundException();
    }
}