gpt4 book ai didi

asp.net - 在 EPPlus 中格式化列以使用电话号码格式

转载 作者:行者123 更新时间:2023-12-04 21:04:50 30 4
gpt4 key购买 nike

我将电话号码存储为一串数字,例如:6028035615,但在查询时将它们转换为整数。我想以正确的电话号码格式格式化单元格中的数据,例如 Excel 中的 (602) 803-5615。但是我该如何声明我想要使用的格式类型呢?
如果我使用:

  objData.Columns.Add("HPhone", GetType(Integer))
wshUS.Column(i).Width = 15 ' PhoneH
wshUS.Column(i).Style.Numberformat.Format = "###-###-####"

或者
 wshUS.Column(i).Style.Numberformat.Format = "(###) ###-####"

空白单元格显示为 -- 在前一种情况下或 ()- 在后一种情况下。
是否有一种格式类型可以放在 = 之后以像 Excel 那样获取电话号码?
我将如何使用条件格式来克服这个问题?
我正在用 VB.NET 编写网页的代码隐藏。

最佳答案

什么是objData ?一般来说,您不需要在工作表中添加列 - 当您第一次引用单元格时,EPPlus 会自动执行此操作。我的 VB 有点生疏,但这对我来说很好用:

<TestMethod> _
Public Sub PhoneNumberFormatTest()
Dim file = New FileInfo("c:\temp\temp.xlsx")
If file.Exists Then
file.Delete()
End If

Dim pck = New ExcelPackage(file)
Dim workbook = pck.Workbook
Dim worksheet = workbook.Worksheets.Add("newsheet")

Const number As String = "6028035615"
Const format As String = "(###) ###-####"

Dim startcell = worksheet.Cells(1, 1)

startcell.Value = Int64.Parse(number)
startcell.Offset(1, 0).Value = Int64.Parse(number) + 1

worksheet.Column(1).Width = 15
worksheet.Column(1).Style.Numberformat.Format = format

pck.Save()

End Sub

我下载了 EPPlus 3 (stable) 的源代码解决方案并将其作为单元测试运行...

编辑:添加字符串操作:
<TestMethod> _
Public Sub PhoneNumberFormatTest()
Dim file = New FileInfo("c:\temp\temp.xlsx")
If file.Exists Then
file.Delete()
End If

Dim pck = New ExcelPackage(file)
Dim workbook = pck.Workbook
Dim worksheet = workbook.Worksheets.Add("newsheet")

Const number As String = "6028035615"
Const format As String = "(###) ###-####"

Dim startcell = worksheet.Cells(1, 1)

'Directly to numbers with parse
startcell.Value = Int64.Parse(number)
startcell.Offset(1, 0).Value = Int64.Parse(number) + 1

'OR as a string back to a number.
Dim stringcell = startcell.Offset(2, 0)
stringcell.Value = number
stringcell.Value = Int64.Parse(DirectCast(stringcell.Value, String))
stringcell.Style.Numberformat.Format = "(###) ###-####"

'As string - does not work as number
stringcell.Offset(0, 1).Value = number
stringcell.Offset(0, 1).Style.Numberformat.Format = "(###) ###-####"

worksheet.Column(1).Width = 15
worksheet.Column(1).Style.Numberformat.Format = format

pck.Save()

End Sub

关于asp.net - 在 EPPlus 中格式化列以使用电话号码格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25962831/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com