请写一段npoi读取excel文件中所有图片并保存到本地的代码
时间: 2023-04-03 15:03:02 浏览: 78
以下是示例代码:
using System.IO;
using NPOI.XSSF.UserModel;
// 读取Excel文件
var workbook = new XSSFWorkbook(File.OpenRead("example.xlsx"));
// 遍历每个Sheet
foreach (var sheet in workbook)
{
// 遍历每个Shape
foreach (var shape in sheet.DrawingPatriarch)
{
// 如果是图片
if (shape is XSSFPicture)
{
var picture = (XSSFPicture)shape;
// 获取图片数据
var data = picture.PictureData.Data;
// 保存图片到本地
File.WriteAllBytes($"{picture.PictureData.FileName}.{picture.PictureData.MimeType.Split('/')[1]}", data);
}
}
}
相关问题
c#使用NPOI读取excel文件并删除某一行
你可以使用以下代码来读取Excel文件并删除某一行:
```csharp
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System.IO;
// 读取Excel文件
FileStream fs = new FileStream("test.xlsx", FileMode.Open, FileAccess.ReadWrite);
XSSFWorkbook workbook = new XSSFWorkbook(fs);
ISheet sheet = workbook.GetSheetAt(0);
// 删除指定行
int rowIndex = 1; // 行索引从0开始
sheet.RemoveRow(sheet.GetRow(rowIndex));
// 保存Excel文件
workbook.Write(fs);
fs.Close();
```
在上面的示例中,我们使用NPOI库中的XSSFWorkbook类来打开Excel文件,使用ISheet接口来获取工作表。然后,我们删除指定行,并使用XSSFWorkbook类将更改写回到Excel文件中。请注意,行索引从0开始,因此第二行的索引为1。
用C#怎么写NPOI读取EXCEL文件
NPOI是一个开源的.NET库,可以用于读写Excel、Word等Microsoft Office格式文件。下面是使用NPOI读取Excel文件的C#代码示例:
```csharp
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
using System.IO;
// 读取Excel文件
FileStream file = new FileStream("test.xlsx", FileMode.Open, FileAccess.Read);
IWorkbook workbook = new XSSFWorkbook(file);
ISheet sheet = workbook.GetSheetAt(0); // 获取第一个工作表
// 遍历行
foreach (IRow row in sheet)
{
// 遍历单元格
foreach (ICell cell in row)
{
// 输出单元格内容
Console.WriteLine(cell.ToString());
}
}
// 关闭文件流和工作簿
workbook.Close();
file.Close();
```
上面的代码首先使用FileStream打开Excel文件,然后使用XSSFWorkbook类创建工作簿对象,再通过GetSheetAt方法获取第一个工作表。接下来,使用foreach循环遍历工作表的行和单元格,并输出单元格内容。最后,关闭文件流和工作簿对象。
需要注意的是,上面的代码只适用于读取Excel 2007及以上版本的文件(.xlsx格式),如果要读取Excel 2003及以下版本的文件(.xls格式),需要使用HSSFWorkbook和HSSFSheet类替换XSSFWorkbook和ISheet类。
相关推荐













