sheet.getRow(i).getCell(0).toString().equals("")
时间: 2024-04-17 18:23:00 浏览: 26
在这段代码中,`sheet.getRow(i)` 表示获取 Excel 表格中的第 `i` 行(行索引从 0 开始)。然后,`getCell(0)` 方法用于获取该行中的第一个单元格(列索引为 0)。
接着,`.toString()` 方法将获取到的单元格内容转换为字符串类型。最后,`.equals("")` 判断该字符串是否为空字符串。
这段代码的作用是判断 Excel 表格中第 `i` 行的第一个单元格是否为空。如果为空,则返回 `true`,否则返回 `false`。
需要注意的是,使用这段代码之前,确保已经正确加载了 Excel 文件,并且 `sheet` 对象已经指向了要操作的工作表。另外,还需要确保 `i` 的取值范围正确,不会超出有效行数的范围。否则可能会导致空指针异常或其他异常情况。
相关问题
@RequestMapping(value = "/excel", method = RequestMethod.POST) @ResponseBody public String uploadExcel(@RequestParam("file") MultipartFile file, Model model) { try { List<People> employees = new ArrayList<>(); InputStream inputStream = file.getInputStream(); Workbook workbook = WorkbookFactory.create(inputStream); Sheet sheet = workbook.getSheetAt(0); for (int i = 1; i <= sheet.getLastRowNum(); i++) { Row row = sheet.getRow(i); if (row != null) { String name = row.getCell(0).getStringCellValue(); int age = (int) row.getCell(1).getNumericCellValue(); String sex = row.getCell(2).getStringCellValue(); People employee; int bed = (int) row.getCell(3).getNumericCellValue(); String str=Integer.toString(bed); int room_id =(int) row.getCell(4).getNumericCellValue(); if(sex.equals("女")) { employee = new People(name, age, "1", str,room_id); }else { employee = new People(name, age, "0", str,room_id); } employees.add(employee); } } model.addAttribute("employees", employees); for (People employee : employees) { peopleService.PeopleAdd1(employee); } return "result"; } catch (IOException | EncryptedDocumentException e) { e.printStackTrace(); } return "error";
这是一个使用Spring MVC框架进行Excel文件上传的Java代码。通过@RequestMapping注解指定请求路径和请求方法,@RequestParam注解获取上传的文件,@ResponseBody注解表示返回的是字符串类型的数据。在方法中,首先获取上传的Excel文件,然后通过WorkbookFactory类创建Workbook对象,获取Sheet对象,遍历Sheet中每一行数据,获取单元格数据并将其放入People对象中,最后将People对象添加到List集合中。最后,将List集合中的所有People对象添加到数据库中,并返回"result"字符串。如果发生异常,则返回"error"字符串。
C# NPOI读取.xls
您可以使用C#的NPOI库来读取.xls文件。首先,您需要使用`ReadFromExcelFile`方法来读取文件并将数据存储在一个DataTable中。该方法使用`IWorkbook`接口来打开文件,并根据文件的扩展名选择适当的工作簿类型。然后,它遍历每一行和每一列,将单元格的值存储在DataTable中。最后,您可以使用`DataTableToExcel`方法将DataTable中的数据写入到.xls文件中。
以下是一个示例代码,演示了如何使用NPOI库读取.xls文件:
```csharp
public void ReadFromExcelFile(string filePath)
{
IWorkbook wk = null;
string extension = System.IO.Path.GetExtension(filePath);
try
{
FileStream fs = File.OpenRead(filePath);
if (extension.Equals(".xls"))
{
wk = new HSSFWorkbook(fs);
}
else
{
wk = new XSSFWorkbook(fs);
}
fs.Close();
ISheet sheet = wk.GetSheetAt(0);
IRow row = sheet.GetRow(0);
int offset = 0;
for (int i = 0; i <= sheet.LastRowNum; i++)
{
row = sheet.GetRow(i);
if (row != null)
{
for (int j = 0; j < row.LastCellNum; j++)
{
string value = row.GetCell(j).ToString();
Console.Write(value.ToString() + " ");
}
Console.WriteLine("\n");
}
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
}
```
您还可以使用`OpenFileDialog`来选择要读取的.xls文件。以下是一个示例代码,演示了如何使用`OpenFileDialog`选择.xls文件:
```csharp
private void Button_SelcetFile_Click(object sender, EventArgs e)
{
OpenFileDialog OFD = new OpenFileDialog();
OFD.Filter = "xls files (*.xls)|*.xls|All files (*.*)|*.*";
OFD.RestoreDirectory = true;
if (OFD.ShowDialog() == DialogResult.OK)
{
string filePath = OFD.FileName;
ReadFromExcelFile(filePath);
}
}
```
希望这可以帮助到您!
#### 引用[.reference_title]
- *1* [c#:使用NPOI读取excel表格](https://blog.csdn.net/weixin_44899642/article/details/124687499)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [C# —— 使用C# NPOI 读取Excel(.xls)文件](https://blog.csdn.net/cdefg198/article/details/7844305)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [C#中NPOI操作excel之读取和写入excel数据](https://blog.csdn.net/coderK2014/article/details/50185163)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]