Compare commits
2 Commits
da2fa56053
...
b0114f7886
Author | SHA1 | Date |
---|---|---|
|
b0114f7886 | |
|
f83fe3ef23 |
|
@ -1,4 +1,5 @@
|
||||||
using System.IO.Compression;
|
using System.Globalization;
|
||||||
|
using System.IO.Compression;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Xml.Linq;
|
using System.Xml.Linq;
|
||||||
|
|
||||||
|
@ -206,6 +207,49 @@ public class ExcelReader : DisposeBase
|
||||||
val = TimeSpan.FromSeconds(Math.Round(str.ToDouble() * 24 * 3600));
|
val = TimeSpan.FromSeconds(Math.Round(str.ToDouble() * 24 * 3600));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// 自动处理0/General
|
||||||
|
else if (st.NumFmtId == 0)
|
||||||
|
{
|
||||||
|
if (val is String str)
|
||||||
|
{
|
||||||
|
if (Int32.TryParse(str, out var n)) return n;
|
||||||
|
if (Int64.TryParse(str, out var m)) return m;
|
||||||
|
if (Decimal.TryParse(str, NumberStyles.Float, CultureInfo.InvariantCulture, out var d)) return d;
|
||||||
|
if (Double.TryParse(str, out var d2)) return d2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (st.NumFmtId is 1 or 3 or 37 or 38)
|
||||||
|
{
|
||||||
|
if (val is String str)
|
||||||
|
{
|
||||||
|
if (Int32.TryParse(str, out var n)) return n;
|
||||||
|
if (Int64.TryParse(str, out var m)) return m;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (st.NumFmtId is 2 or 4 or 11 or 39 or 40)
|
||||||
|
{
|
||||||
|
if (val is String str)
|
||||||
|
{
|
||||||
|
if (Decimal.TryParse(str, NumberStyles.Float, CultureInfo.InvariantCulture, out var d)) return d;
|
||||||
|
if (Double.TryParse(str, out var d2)) return d2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if (st.NumFmtId is 9 or 10)
|
||||||
|
{
|
||||||
|
if (val is String str)
|
||||||
|
{
|
||||||
|
if (Double.TryParse(str, out var d2)) return d2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 文本Text
|
||||||
|
else if (st.NumFmtId == 49)
|
||||||
|
{
|
||||||
|
if (val is String str)
|
||||||
|
{
|
||||||
|
if (Decimal.TryParse(str, NumberStyles.Float, CultureInfo.InvariantCulture, out var d)) return d.ToString();
|
||||||
|
if (Double.TryParse(str, out var d2)) return d2.ToString();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return val;
|
return val;
|
||||||
}
|
}
|
||||||
|
@ -242,14 +286,14 @@ public class ExcelReader : DisposeBase
|
||||||
[11] = "0.00E+00",
|
[11] = "0.00E+00",
|
||||||
[12] = "# ?/?",
|
[12] = "# ?/?",
|
||||||
[13] = "# ??/??",
|
[13] = "# ??/??",
|
||||||
[14] = "mm/dd/yy",
|
[14] = "mm-dd-yy",
|
||||||
[15] = "d-mmm-yy",
|
[15] = "d-mmm-yy",
|
||||||
[16] = "d-mmm",
|
[16] = "d-mmm",
|
||||||
[17] = "mmm-yy",
|
[17] = "mmm-yy",
|
||||||
[18] = "h:mm AM/PM",
|
[18] = "h:mm AM/PM",
|
||||||
[19] = "h:mm:ss AM/PM",
|
[19] = "h:mm:ss AM/PM",
|
||||||
[20] = "h:mm",
|
[20] = "h:mm",
|
||||||
[21] = "h:mm:dd",
|
[21] = "h:mm:ss",
|
||||||
[22] = "m/d/yy h:mm",
|
[22] = "m/d/yy h:mm",
|
||||||
[37] = "#,##0 ;(#,##0)",
|
[37] = "#,##0 ;(#,##0)",
|
||||||
[38] = "#,##0 ;[Red](#,##0)",
|
[38] = "#,##0 ;[Red](#,##0)",
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<Description>Core basic components: log (file / network), configuration (XML / JSON / HTTP), cache, network (TCP / UDP / HTTP /WebSocket), serialization (binary / XML / JSON), APM performance tracking. 核心基础组件,日志(文件/网络)、配置(XML/Json/Http)、缓存、网络(Tcp/Udp/Http/WebSocket)、序列化(Binary/XML/Json)、APM性能追踪。</Description>
|
<Description>Core basic components: log (file / network), configuration (XML / JSON / HTTP), cache, network (TCP / UDP / HTTP /WebSocket), serialization (binary / XML / JSON), APM performance tracking. 核心基础组件,日志(文件/网络)、配置(XML/Json/Http)、缓存、网络(Tcp/Udp/Http/WebSocket)、序列化(Binary/XML/Json)、APM性能追踪。</Description>
|
||||||
<Company>新生命开发团队</Company>
|
<Company>新生命开发团队</Company>
|
||||||
<Copyright>©2002-2025 NewLife</Copyright>
|
<Copyright>©2002-2025 NewLife</Copyright>
|
||||||
<VersionPrefix>11.5</VersionPrefix>
|
<VersionPrefix>11.6</VersionPrefix>
|
||||||
<VersionSuffix>$([System.DateTime]::Now.ToString(`yyyy.MMdd`))</VersionSuffix>
|
<VersionSuffix>$([System.DateTime]::Now.ToString(`yyyy.MMdd`))</VersionSuffix>
|
||||||
<Version>$(VersionPrefix).$(VersionSuffix)</Version>
|
<Version>$(VersionPrefix).$(VersionSuffix)</Version>
|
||||||
<FileVersion>$(Version)</FileVersion>
|
<FileVersion>$(Version)</FileVersion>
|
||||||
|
@ -32,7 +32,7 @@
|
||||||
<RepositoryUrl>https://github.com/NewLifeX/X</RepositoryUrl>
|
<RepositoryUrl>https://github.com/NewLifeX/X</RepositoryUrl>
|
||||||
<RepositoryType>git</RepositoryType>
|
<RepositoryType>git</RepositoryType>
|
||||||
<PackageTags>新生命团队;X组件;NewLife;$(AssemblyName)</PackageTags>
|
<PackageTags>新生命团队;X组件;NewLife;$(AssemblyName)</PackageTags>
|
||||||
<PackageReleaseNotes>改进ChangeType;浮点数转换支持科学计数法</PackageReleaseNotes>
|
<PackageReleaseNotes>改进Host.Close让应用有序退出;增强DbTable的大数据文件读写能力,支持机器学场景;优化Binary二进制读写,支持压缩数据流;改进Linux内存采集;改进ExcelReader对常规数字的读取;</PackageReleaseNotes>
|
||||||
<PackageLicenseExpression>MIT</PackageLicenseExpression>
|
<PackageLicenseExpression>MIT</PackageLicenseExpression>
|
||||||
<PublishRepositoryUrl>true</PublishRepositoryUrl>
|
<PublishRepositoryUrl>true</PublishRepositoryUrl>
|
||||||
<EmbedUntrackedSources>true</EmbedUntrackedSources>
|
<EmbedUntrackedSources>true</EmbedUntrackedSources>
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
<Description>扩展加密算法</Description>
|
<Description>扩展加密算法</Description>
|
||||||
<Company>新生命开发团队</Company>
|
<Company>新生命开发团队</Company>
|
||||||
<Copyright>©2002-2025 NewLife</Copyright>
|
<Copyright>©2002-2025 NewLife</Copyright>
|
||||||
<VersionPrefix>11.5</VersionPrefix>
|
<VersionPrefix>11.6</VersionPrefix>
|
||||||
<VersionSuffix>$([System.DateTime]::Now.ToString(`yyyy.MMdd`))</VersionSuffix>
|
<VersionSuffix>$([System.DateTime]::Now.ToString(`yyyy.MMdd`))</VersionSuffix>
|
||||||
<Version>$(VersionPrefix).$(VersionSuffix)</Version>
|
<Version>$(VersionPrefix).$(VersionSuffix)</Version>
|
||||||
<FileVersion>$(Version)</FileVersion>
|
<FileVersion>$(Version)</FileVersion>
|
||||||
|
|
|
@ -36,7 +36,7 @@ public class ExcelReaderTests
|
||||||
else if (row1[i] is TimeSpan ts)
|
else if (row1[i] is TimeSpan ts)
|
||||||
Assert.Equal(TimeSpan.Parse(values[i]), ts);
|
Assert.Equal(TimeSpan.Parse(values[i]), ts);
|
||||||
else
|
else
|
||||||
Assert.Equal(values[i], row1[i]);
|
Assert.Equal(values[i], row1[i] + "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue