C#零点时自动生成Excel表
时间: 2024-10-20 11:11:47 浏览: 29
在C#中,你可以使用NuGet包如EPPlus或Microsoft.Office.Interop.Excel来生成Excel表格。当你需要在特定时间,比如零点(午夜),自动创建新的Excel文件时,可以编写一个定时任务或者使用DateTime.Now加减一天来触发这个操作。这里是一个简单的示例,展示如何使用EPPlus创建一个新的工作簿:
```csharp
using OfficeOpenXml;
using System;
using System.Threading.Tasks;
public async Task GenerateExcelAtMidnight()
{
// 获取当前日期的凌晨0点时刻
DateTime midnight = DateTime.Today.AddHours(24).AddMilliseconds(-1);
// 如果已经过了午夜,则开始创建新文件
if (DateTime.Now >= midnight)
{
string fileName = "Excel_" + DateTime.Now.ToString("yyyyMMdd_HHmmss") + ".xlsx";
using var package = new ExcelPackage(new FileInfo(fileName));
// 创建一个新的工作表并写入数据
ExcelWorksheet worksheet = package.Workbook.Worksheets.Add("Sheet1");
worksheet.Cells[1, 1].Value = "Hello, World!";
await package.SaveAsync();
Console.WriteLine($"Excel file created at {DateTime.Now}");
}
}
// 调用函数并设置定时任务(例如使用Windows任务计划程序或第三方库如Hangfire)
Task.Run(() => GenerateExcelAtMidnight());
```
阅读全文