2017-05-06 9 views
0

Excelで行われている「自動データ変換」にはかなり問題があります。まず、正確に私が何をしているのか、そしてExcelが私を楽しませる方法について説明しようと思います。)Excelで日付をセル内のテキストに変換する(interop)

私のプログラムは、温度センサーからのレポートのグラフを作成しています。レポートでは、最初の列は読み取りの日付で、2番目の列はその日付のセンサーの読み取り値です。問題は、最初の列がDateTime形式の場合、Excelが実行している「XAxisシリーズ」の自動選択です。

Here Excelはチャートで「匂い」の日付形式を使用している場合の例です。 ..

Hereは、最初の列がテキスト形式の場合のグラフの表示方法です。

最初の列の値を変換するためにいくつかの変種を試しましたが、すべてが遅すぎるか、値が壊れてしまいます。

foreach(Range cell in firstCol.Cells) 
     { 
      if (cell.Value is DateTime && !(cell.Value).ToString().Contains("\'")) 
      { 
       cell.Value = "\'" + cell.Value; 
      } 
     } 

しかし、それは十分に速くはありません。私が見つけ これまでのところ、「最速」の方法です。 100枚(各センサーごとに1枚)と2500〜4000行の各シートを想像してみてください。それは、インターネット上の場所のカップルで示唆されたが、それは、日付形式のために動作しないよう

usedRange.NumberFormat = "@"; 

は、私のようなものを試してみました。これは次のように変換されます: 01/12/2016 00:30このように:42705.02083。

私の質問は誰かが日付を変換するためのより良いまたはより速い方法を提案したり、何かを狂わせることなくExcelとしてDateTimeをテキストとして読み込ませることができるかどうかということです。

答えて

0

私は自分自身軸Xを固定することにより、より良い方法があります確信しているが、すべてあなたが探しては、テキスト形式で日付を取得する場合、クイックフィックスはのようになります。実際に私

=TEXT(DATE(2016,1,12)+TIME(0,30,0),"MM/dd/yyyy hh:mm") 
+0

おそらく、特定の方法でx軸を修正する方法についてインターネット全体を検索しましたが、何も見つかりませんでした。そして私は、もし存在すれば、私の問題全体を1行で修正するオプションについて話しています。 https://drive.google.com/open?id=0Byub5fWTQ5hPNGpUckhtZkVKYjQこれは私が話しているオプションです。誰かがC#コードでそのオプションで何かをする方法を知っているなら、私に教えてください。 –

関連する問題