1

問題があります。コードなどのデータをExcelファイルからインポートしています。インポートにLinqToExcelを使用して います 問題は、Excel の列の 1 つに「A2C235425345345」や「12441523543454454」などのコードが含まれていることです。この列のこのデータは、文字列または数値としてフォーマットされていません。したがって、Excel ファイルから読み取ると、その値の代わりに「6.57621e+009」になります。そのため、C# と .NET Framework 4.0 を使用して、その値を最初の値に戻す方法が必要です。

何か案は?ありがとうございました!

4

2 に答える 2

1

文字列値の前にアポストロフィを使用し'て、Excelに渡します。

データをExcelにエクスポートしていると仮定しています。

于 2011-03-01T20:24:50.620 に答える
0

変換列のマッピング ブロックを追加してみてください。

public static List<ExcelReqests> LoadRequest( string path)
{
     var excel = new ExcelQueryFactory(path);
     excel.AddMapping<ExcelRequests>(x => x.COLUMNNAME, "COLUMNNAME",
                s => !string.IsNullOrEmpty(s)
                    ? decimal.TryParse(s, NumberStyles.Number | NumberStyles.AllowExponent | NumberStyles.Float, CultureInfo.InvariantCulture, out decimal dummy)
                        ?
                        dummy.ToString("#0")
                        : s
                    : s);  
    return (from e in excel.Worksheet<ExcelRequests>(0)
                select e).ToList();
 }

PS: 10 進数変換プロセスでのカルチャ依存性に注意してください。

于 2021-01-07T12:23:06.763 に答える