9

クライアントのデータを CSV にエクスポートする ASP.NET アプリケーションを使用しています。クライアントの電話番号の先頭にゼロを付ける必要があります。電話番号は「-」と引用符なしである必要があり、アプリケーションの性質上、EPPLUS などのサードパーティ製品を使用できません。スペースを入れて、電話番号がテキストとして必要であることを CSV に「理解」させようとしましたが、正しくないようです。

サードパーティ製品を使用せずに、Excel に先行ゼロを含める方法を知りたいです。

ありがとう

4

5 に答える 5

28

csv に保存されているデータを次の形式で変更します。

 ="00023423"

CSV の例:

David,Sooo,="00023423",World

これにより、Excel では 23423 ではなく 00023423 が表示されます。

于 2012-08-22T12:22:59.503 に答える
8
public void CreatingCsvFiles(Client client)
    {
        string filePath = "Your path of the location" + "filename.csv";
        if (!File.Exists(filePath))
        {
            File.Create(filePath).Close();
        }
        string delimiter = ",";
        string[][] output = new string[][]{
        new string[]{ "=\"" + client.phone + "\"", client.name }
        };
        int length = output.GetLength(0);
        StringBuilder sb = new StringBuilder();
        for (int index = 0; index < length; index++)
        sb.AppendLine(string.Join(delimiter, output[index]));
        File.AppendAllText(filePath, sb.ToString());
    }

http://softwaretipz.com/c-sharp-code-to-create-a-csv-file-and-write-data-into-it/に触発されました

重要な部分:

  "=\"" + client.phone + "\"", client.name

電話番号が int の場合は、もちろん .toString() を追加します。

于 2015-04-20T16:46:29.253 に答える
5

先頭に ' (一重引用符) を付けて電話番号を CSV に出力すると、次のようになります。

"Some Name","'0000121212"

その場合、 Excel はこれ0000121212を文字列として扱う必要があります。

于 2012-08-22T11:24:44.370 に答える
0

電話の中にいくつの数字が必要かがすでにわかっている場合は、次のようにすることができます

phoneNumber.ToString("000000000000")

この例でphoneNumberは、 は でありint、必要な数値の長さは であると考えてい12ます。

于 2012-08-22T11:24:04.357 に答える