用C#控制SQL数据库每次存入新数据就导出更新一次Excel表格
时间: 2023-11-27 15:53:18 浏览: 79
可以使用以下步骤来实现:
1. 创建一个定时任务,每隔一定时间执行一次。
2. 在任务中连接SQL数据库,并查询需要导出的数据。
3. 创建一个Excel文件,并将查询结果写入该文件中。
4. 如果文件已经存在,则将查询结果添加到现有文件中。
5. 将文件保存到指定位置。
下面是一份示例代码,可以作为参考:
```csharp
using System;
using System.Data.SqlClient;
using System.Data;
using System.IO;
using Microsoft.Office.Interop.Excel;
namespace ExportToExcel
{
class Program
{
static void Main(string[] args)
{
// 连接数据库
string connectionString = "Data Source=YourServerName;Initial Catalog=YourDatabaseName;Integrated Security=True";
string query = "SELECT * FROM YourTableName";
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
SqlDataAdapter adapter = new SqlDataAdapter(query, connection);
DataTable dataTable = new DataTable();
adapter.Fill(dataTable);
// 创建Excel文件
Application application = new Application();
Workbook workbook = application.Workbooks.Add();
Worksheet worksheet = workbook.ActiveSheet;
// 将数据写入Excel文件
int row = 1;
foreach (DataRow dataRow in dataTable.Rows)
{
for (int col = 0; col < dataTable.Columns.Count; col++)
{
worksheet.Cells[row, col + 1] = dataRow[col].ToString();
}
row++;
}
// 保存Excel文件
string filePath = @"C:\YourFilePath\YourFileName.xlsx";
if (File.Exists(filePath))
{
workbook.SaveAs(filePath, XlFileFormat.xlOpenXMLWorkbook);
}
else
{
workbook.SaveAs(filePath);
}
// 关闭Excel文件和应用程序
workbook.Close();
application.Quit();
}
}
}
}
```
阅读全文