import java.io.FileInputStream
import org.apache.poi.ss.usermodel.WorkbookFactory
import org.apache.poi.ss.usermodel.Cell
import org.apache.poi.ss.usermodel.Row
/**
* @author cdh
*
* 基于apache POI项目的实现
*/
public class Excels{
static getDateFromExcel(){
def workBook = getExcelWorkbook(new FileInputStream('D:/SaleMobile.xlsx'))
getSheetListByWorkbook(workBook).each {sheet ->
def rowList = Excels.getRowListBySheet(sheet)
def colCount = Excels.getFirstRowCellCount(sheet)//列数
rowList.remove(0.intValue())//去除第一行(文字行)
rowList.each {row->
def oVal = []
def cellList = Excels.getCellListByRow(row, colCount)
cellList.each {cell->
oVal << Excels.getValueByCell(cell)
}
}
}
}
/**
* inp FileInputStream
*/
static def getExcelWorkbook(inp) {
def wb = WorkbookFactory.create(inp);
wb.setMissingCellPolicy(Row.CREATE_NULL_AS_BLANK)
return wb
}
static def getSheetListByWorkbook(workbook) {
def sheetList = []
def i = 0
while (true) {
try {
def sheet = workbook.getSheetAt(i++)
sheetList << sheet
} catch (Exception e) {
return sheetList
}
}
}
static def getRowListBySheet(sheet) {
return sheet.rowIterator().collect{return it}
}
static def getFirstRowCellCount(sheet) {
return sheet.getRow(0).cellIterator().collect{return it}.@size
}
static def getCellListByRow(row, cellNum) {
--cellNum
def cellList = []
(0..cellNum).each {index->
cellList << row.getCell(index)
}
return cellList
}
static def getValueByCell(cell) {
if (cell.cellType == Cell.CELL_TYPE_BLANK) {
return ""
} else if (cell.cellType == Cell.CELL_TYPE_BOOLEAN) {
return cell.booleanCellValue
} else if (cell.cellType == Cell.CELL_TYPE_ERROR) {
return cell.errorCellValue
} else if (cell.cellType == Cell.CELL_TYPE_FORMULA) {
return cell.cellFormula
} else if (cell.cellType == Cell.CELL_TYPE_NUMERIC) {
return cell.numericCellValue
} else if (cell.cellType == Cell.CELL_TYPE_STRING) {
return cell.stringCellValue
} else {
return cell.stringCellValue
}
}
}
分享到:
相关推荐
在Java或Groovy中,使用Apache POI导入Excel文件涉及以下几个步骤: - 引入依赖:确保项目中已经添加了Apache POI的库。 - 打开工作簿:使用`WorkbookFactory`类的静态方法`create()`打开Excel文件。 - 获取工作...
在JMeter测试框架中,我们可以结合使用POI库和BeanShell组件来读取和写入Excel数据,以实现更复杂的测试场景。以下是对这个主题的详细讲解: 首先,Apache POI是一个开源的Java API,它提供了读取、写入和修改MS ...
而Hive则是一个数据仓库工具,它允许用户使用SQL-like语言(HQL)对Hadoop集群上的大量数据进行分析和查询。 标题“hbase导出csv,文本,html文件”指的是从HBase中导出数据并转换为常见的文本格式,如CSV、文本和...
Java编程语言在处理数据方面非常强大,特别是在与数据库如MySQL交互时。本示例程序将指导你如何使用Java读取Excel文件并将其内容存入MySQL数据库。这对于数据导入、数据分析或者自动化报告等任务非常有用。 首先,...
【标题】"ExcelDemo.rar" 是一个包含SpringBoot项目的...同时,对于计算加班时长的需求,也可以了解到如何解析Excel数据并进行后端逻辑处理。这是一个很好的实践案例,对于提升Java Web开发者的技术能力非常有帮助。
它利用Apache POI库操作Excel,可以方便地将数据导出到Excel文件,或者从Excel导入数据。在Spring Boot应用中,Jxls可以无缝集成,帮助我们快速实现复杂的数据导出功能,比如自定义样式、合并单元格等。 Logback是...
在Java项目中,我们需要导入JasperReport库,并使用其API来编译报表模板,填充数据并生成报表。常用的方法有`JasperCompileManager.compileReport()`, `JasperFillManager.fillReport()` 和 `JasperExportManager....
在Jeesite中,它们用于读取和生成Excel文件,实现数据导入导出功能。 3. `xmlbeans-2.3.0.jar`: XMLBeans是Apache项目的一个子项目,用于处理XML数据,将XML文档映射到Java对象。在Jeesite的工作流引擎或数据交换中...
4. **数据驱动测试**:支持从外部数据源(如CSV、Excel文件)导入数据,实现数据驱动的测试用例,这在进行复杂场景的测试时非常有用。 5. **断言**:SOAPUI允许设置各种断言,用于验证响应数据的正确性,例如,可以...
6. **数据驱动测试**:利用Excel或CSV文件作为数据源,实现参数化测试。 7. **报告与日志**:生成详细的测试报告,便于分析和追踪问题。 8. **自动化测试**:支持使用Groovy脚本实现测试脚本化,便于集成到持续...
1. 脚本测试:使用Groovy脚本语言编写自定义逻辑,增强测试能力。 2. 数据源关联:结合CSV、Excel或其他数据源,实现大规模的数据驱动测试。 3. 报告生成:自动生成测试报告,便于团队共享和分析测试结果。 总之,...
5. **脚本支持**:可以使用JavaScript、Groovy等脚本语言进行更复杂的数据处理和样式控制。 **四、iReport与JasperReport的协同工作** 在实际开发中,通常先使用iReport设计报表模板,然后在Java应用中引用这些模板...
3. **数据驱动测试**: SOAPUI支持从外部文件(如CSV或Excel)导入数据,实现数据驱动的测试,这意味着测试用例可以针对不同的输入数据运行。 4. **性能测试**: 使用SOAPUI的LoadTest功能,你可以模拟多个并发用户,...
- 数据驱动测试:支持从外部数据源(如CSV、Excel或数据库)导入数据,实现参数化测试。 - 脚本支持:使用Groovy脚本语言,可以编写自定义逻辑和自动化测试步骤。 - 安全测试:内置多种安全扫描器,检测Web服务的...
4. **数据驱动测试**:通过使用CSV、Excel或其他数据源,SoapUI可以实现数据驱动测试,使得测试用例能够根据输入数据的变化而变化,增加测试覆盖率。 5. **负载测试**:SoapUI Pro版本(非免费)提供负载测试功能,...
接着,在测试用例中引用Excel数据集中的数据,实现针对每行数据的自动化测试执行。 **3. 自动化测试脚本** 为了进一步提高测试效率,还可以编写Groovy脚本来控制测试流程,实现更复杂的测试逻辑。 #### 性能测试 ...
在压缩包的文件名列表中,我们看到一些特定库的版本,如ooxml-schemas用于处理Open XML格式,jasperreports相关库用于报表生成,groovy-all涉及Groovy语言,mondrian是Pentaho的数据立方体组件,xbean则可能与Apache...
- **数据驱动测试**: 支持从外部数据源(如Excel或数据库)导入测试数据,实现数据驱动的接口测试。 - **自动化测试套件**: 可以创建和管理复杂的测试套件和测试用例,方便进行持续集成和持续测试。 - **报告和...
4. **数据驱动测试:** 可以使用外部数据源如CSV或Excel文件驱动测试,实现参数化测试,增加测试覆盖率。 5. **脚本支持:** 支持Groovy脚本,允许自定义复杂的测试逻辑,自动化执行测试任务。 6. **报告生成:** ...
5. **数据驱动测试**: 支持从外部数据源(如CSV、Excel文件或数据库)导入数据,实现数据驱动的测试,覆盖更多测试场景。 6. **自动化测试**: 能够编写和执行自动化的测试脚本,支持Groovy脚本语言,便于集成到...