You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VB.NET中将Excel表头非标准日期(如“5 Sep”)转换为dd/mm格式

VB.NET 实现Excel表头非标准日期格式转换方案

前置准备

  • 引入必要命名空间,用于解析英文月份缩写:
Imports System.Globalization

核心转换方法

新增专用转换函数,处理"日+英文月份缩写"格式的字符串转换:

' 输入类似"5 Sep"的非标准日期字符串,输出"05/09"格式,解析失败返回原值
Private Function ConvertDateStr(inputStr As String) As String
    Dim enCulture As CultureInfo = CultureInfo.GetCultureInfo("en-US")
    Dim parsedDate As DateTime
    inputStr = inputStr.Trim()
    ' 匹配单/双位日期+3位英文月份缩写的格式
    If DateTime.TryParseExact(inputStr, "d MMM", enCulture, DateTimeStyles.None, parsedDate) Then
        Return parsedDate.ToString("dd/MM")
    End If
    Return inputStr
End Function

集成到现有业务逻辑

修改你原有代码中的遍历循环部分,新增转换逻辑:

Try
    xlWorkBook = xlApp.Workbooks.Open(result2)
    xlWorkSheet = xlWorkBook.Worksheets("Attendances")

    xlWorkBook.Activate()
    If xlWorkSheet.Cells(1, 1).Value = "Course" Then
        xlWorkSheet.Rows(1 & ":" & 3).Delete()
        xlWorkBook.Save()

        For t As Integer = 6 To 75
            Dim cellVal As String = Convert.ToString(xlWorkSheet.Cells(1, t).Value)
            If Not String.IsNullOrEmpty(cellVal) Then
                ' 原有截取逻辑保留
                If cellVal.Length > 25 AndAlso InStr(cellVal, " 20") > 0 Then
                    cellVal = Microsoft.VisualBasic.Left(cellVal, InStr(cellVal, " 20") - 1)
                End If
                ' 新增日期格式转换
                cellVal = ConvertDateStr(cellVal)
                ' 回写单元格
                xlWorkSheet.Cells(1, t).Value = cellVal
            End If
        Next                           

        xlWorkBook.Save()
        xlWorkBook.Close()
    End If
    xlApp.Quit()
Catch ex As Exception
    ' 可按需打印ex.Message排查错误
    lblPath.Text = "Exception"
End Try

注意事项

  • 如果存在带点的月份缩写格式(如Sep.),可修改TryParseExact的格式参数为New String() {"d MMM", "d MMM."}支持多格式匹配
  • 解析日期时默认取当前系统年份,仅输出月日的场景下不会影响最终结果
  • 建议先小范围测试转换效果,确认符合预期后再全量执行

内容的提问来源于stack exchange,提问作者user8226676

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 06:15:01