C#用NPOI来打印Excel文件
时间: 2023-12-08 19:17:37 浏览: 49
C是一种计算机编程语言,是由贝尔实验室的Dennis Ritchie于1972年开发的。C语言具有简洁、高效、可移植的特点,被广泛应用于操作系统、编译器、网络协议、游戏开发等领域。C语言是许多计算机科学专业的必修课程,也是学习其他高级编程语言的基础。C语言的标准化由国际标准化组织(ISO)和美国国家标准化组织(ANSI)联合制定,目前最新的C语言标准是C18。
相关问题
用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类。
C#使用NPOI将excel文件导入到Oracle数据库
将Excel文件中的数据导入到Oracle数据库可以使用以下步骤:
1. 首先,需要将Excel文件读取到C#中,可以使用NPOI库来读取Excel文件中的数据。
2. 连接Oracle数据库,并打开连接。
3. 创建一个OracleCommand对象,该对象用于执行SQL命令。
4. 遍历Excel文件中的每一行数据,并将数据插入到Oracle数据库中,可以使用OracleCommand对象的ExecuteNonQuery方法来执行SQL语句。
以下是一个示例代码:
```csharp
using System;
using System.Data;
using System.Data.OracleClient;
using NPOI.HSSF.UserModel;
using NPOI.SS.UserModel;
using NPOI.SS.Util;
// 读取Excel文件
HSSFWorkbook workbook = new HSSFWorkbook(new FileStream("Excel文件路径", FileMode.Open));
ISheet sheet = workbook.GetSheetAt(0);
// 连接Oracle数据库
string connectionString = "Data Source=数据库地址;User ID=用户名;Password=密码;";
OracleConnection connection = new OracleConnection(connectionString);
connection.Open();
// 创建OracleCommand对象
OracleCommand command = new OracleCommand();
command.Connection = connection;
// 遍历Excel文件中的每一行数据,将数据插入到Oracle数据库中
for (int i = sheet.FirstRowNum + 1; i <= sheet.LastRowNum; i++)
{
IRow row = sheet.GetRow(i);
if (row == null) continue;
string col1 = row.GetCell(0).ToString().Trim();
string col2 = row.GetCell(1).ToString().Trim();
string col3 = row.GetCell(2).ToString().Trim();
string sql = "insert into table_name(col1, col2, col3) values(:col1, :col2, :col3)";
command.CommandText = sql;
command.Parameters.Clear();
command.Parameters.Add(new OracleParameter(":col1", col1));
command.Parameters.Add(new OracleParameter(":col2", col2));
command.Parameters.Add(new OracleParameter(":col3", col3));
command.ExecuteNonQuery();
}
// 关闭连接
connection.Close();
```
需要注意的是,在执行SQL语句时,使用了参数化查询,可以防止SQL注入攻击。另外,需要根据Excel文件和Oracle数据库的实际情况,修改代码中的表名、列名和连接字符串等信息。