如何在C#中合理读取Excel行数据并拼接为完整日期格式
解决方案
提供两种可直接落地的实现方式,按需选择即可:
C# 实现(基于EPPlus库)
优先推荐用EPPlus处理Excel,无需依赖本地安装Office,步骤如下:
- 先安装EPPlus NuGet包,注意非商业场景可免费使用5.x及以下版本
- 读取逻辑示例代码如下:
using OfficeOpenXml; using System; using System.IO; class ExcelDateReader { static void Main() { // 请替换为你的Excel文件路径 var filePath = @"C:\你的文件路径\test.xlsx"; ExcelPackage.LicenseContext = LicenseContext.NonCommercial; using (var package = new ExcelPackage(new FileInfo(filePath))) { var worksheet = package.Workbook.Worksheets[0]; // 取第一个工作表 int rowCount = worksheet.Dimension.End.Row; for (int row = 1; row <= rowCount; row++) { // 读取R列(第18列)的年月信息,示例格式为"2018.01",可根据实际格式调整 string yearMonth = worksheet.Cells[row, 18].Text?.Trim(); if (string.IsNullOrEmpty(yearMonth)) continue; // 拆分年和月 var ymParts = yearMonth.Split('.'); if (ymParts.Length != 2) continue; string year = ymParts[0]; string month = ymParts[1]; // 读取C列(第3列)的日信息 string day = worksheet.Cells[row, 3].Text?.Trim(); if (string.IsNullOrEmpty(day)) continue; // 拼接成要求的日期格式 string fullDate = $"{day.PadLeft(2, '0')}.{month.PadLeft(2, '0')}.{year}"; // 可直接输出或者写入其他单元格,示例写入D列对应行 worksheet.Cells[row, 4].Value = fullDate; } // 保存修改后的文件 package.SaveAs(new FileInfo(@"C:\你的文件路径\output.xlsx")); } } }
- 如果需要处理多列,可扩展列遍历逻辑,批量拼接对应列的日信息和R列年月即可。
Excel VBA 脚本方案
如果需要直接在Excel内处理,用下面的脚本即可:
- 打开目标Excel文件,按
Alt+F11调出VBA编辑器 - 右键点击当前工作簿,选择「插入」-「模块」
- 粘贴如下代码:
Sub 拼接完整日期() Dim lastRow As Long Dim i As Long Dim yearMonth As Variant Dim dayStr As String Dim fullDate As String lastRow = Cells(Rows.Count, "R").End(xlUp).Row ' 取R列最后有数据的行号 For i = 1 To lastRow yearMonth = Split(Cells(i, "R").Text, ".") ' 拆分R列的年月,分隔符可根据实际修改 If UBound(yearMonth) = 1 Then dayStr = Cells(i, "C").Text ' 读取C列的日 If dayStr <> "" Then ' 拼接为dd.mm.yyyy格式 fullDate = Format(dayStr, "00") & "." & Format(yearMonth(1), "00") & "." & yearMonth(0) ' 可修改为你需要写入的列,示例写入D列 Cells(i, "D").Value = fullDate ' 如果需要转置为规整表格,可在这部分扩展写入逻辑 End If End If Next i End Sub
- 按
F5运行脚本即可完成批量处理。
注:如果你的年月列分隔符不是
.,可把代码里的Split分隔符替换为实际的分隔符即可。
内容的提问来源于stack exchange,提问作者Plarent Haxhidauti
相关产品推荐
相关产品推荐

