1

別の Excel シートから Excel シートにデータを書き込んでいます。ただし、列のデータは次のいずれかのようになります。

  • $0.00
  • The amount owed at time of service is $33
  • 20%
  • または空の文字列。

私の問題は、ファイルに書き込むときに、Excel が書式設定のために列を「一般」としてマークして$いる%こと0.2です。スプレッドシートに書き込むときにデータをそのまま残すように、フォーマットを単なる文字列に設定する方法はありますか?

私は Ruby を初めて使用するので、別の方法で実行する必要があるコードがあれば教えてください。

コード例:

def self.add_data(new_book_sheet, old_book_sheet)
  row_index = 9
  header_row = 0
  old_book_sheet.each do |row|
    if header_row > 0
      column_index = 0
      row.each do |column|
        new_book_sheet.row(row_index).insert(column_index, column)
        column_index += 1
      end
      row_index += 1
    end
    header_row = 1
  end
end
4

2 に答える 2

2

したがって、問題は、元のExcelファイルからデータを読み取るときに、それが単なる「数値」タイプの場合、そのように読み取っているため、$ 0.00が0として読み取られていることです。問題は書き込みにあると思いましたデータのですが、実際にはデータを読み取るときです。

于 2012-08-15T21:07:14.773 に答える
1

出力の前にアポストロフィを追加すると、Excel はそれをテキストとして解釈します。Excel で以下をテストしました (gem を使用せずにスプレッドシートで直接)、すべて文字列として解釈されました。

  • '$0.00
  • 'The amount owed at time of service is $33
  • '20%
  • '
于 2012-08-14T22:31:12.937 に答える