用C#写一个解析db生成excel表格的程序
时间: 2023-09-19 15:10:02 浏览: 111
C# 生成excel表
4星 · 用户满意度95%
好的,我可以为您提供一个基本的思路和代码示例来解析db文件并生成Excel表格。
首先,您需要使用C#中的一些库类来读取db文件。这里我推荐使用System.Data.SQLite库,它是一个纯C#实现的SQLite数据库引擎,可以方便地读取SQLite数据库文件(包括.db文件)。
接下来,您需要将db文件中的数据转换为Excel表格。这个过程可以使用C#中的Excel库来实现,比如NPOI或EPPlus。
下面是一个基本的代码示例:
```csharp
using System.Data.SQLite;
using System.IO;
using NPOI.SS.UserModel;
using NPOI.XSSF.UserModel;
// 读取db文件
string connectionString = "Data Source=your_database.db";
using (SQLiteConnection connection = new SQLiteConnection(connectionString))
{
connection.Open();
string sql = "SELECT * FROM your_table";
using (SQLiteCommand command = new SQLiteCommand(sql, connection))
{
using (SQLiteDataReader reader = command.ExecuteReader())
{
// 创建Excel工作簿
IWorkbook workbook = new XSSFWorkbook();
ISheet sheet = workbook.CreateSheet("Sheet1");
// 写入表头
IRow headerRow = sheet.CreateRow(0);
for (int i = 0; i < reader.FieldCount; i++)
{
ICell cell = headerRow.CreateCell(i);
cell.SetCellValue(reader.GetName(i));
}
// 写入数据
int rowIndex = 1;
while (reader.Read())
{
IRow dataRow = sheet.CreateRow(rowIndex++);
for (int i = 0; i < reader.FieldCount; i++)
{
ICell cell = dataRow.CreateCell(i);
cell.SetCellValue(reader.GetValue(i).ToString());
}
}
// 保存Excel文件
using (FileStream fileStream = new FileStream("your_excel_file.xlsx", FileMode.Create, FileAccess.Write))
{
workbook.Write(fileStream);
}
}
}
}
```
注意,这只是一个基本的示例,您需要根据您的具体情况进行修改和改进。例如,您可能需要处理一些异常情况,或者根据db文件的具体结构进行更复杂的数据转换。
阅读全文