2016-04-17 4 views
1

私は、ユーザーがタブレットに署名して画像を生成するアプリケーションを持っています。その部分は、作成され保存された後に画像を見ることができるので、私は確認の作業をしています。セルにBLOBデータを追加するCSVWriterの入手方法

次のコードを使用して.csvファイルに書き込んでいます。

//region - Create CSV file 
      writer = new CSVWriter(new FileWriter(sdCardPath + "Orders_Summary_Report.csv"), ',', CSVWriter.NO_QUOTE_CHARACTER, CSVWriter.DEFAULT_ESCAPE_CHARACTER, "\r\n"); 
      //writer.writeNext(CSVcursor.getColumnNames()); //Write the column headings first before the looping starts 
      String [] headings = ("Order Id,Item ID,Item Name,Item Price,Item Count,Item Total,Paid Amount,VOID Order,Payment Method,Order Signature,Member/Authorization,Tab Number,Order Time").split(","); 
      writer.writeNext(headings); 

      for(CSVcursor.moveToFirst(); !CSVcursor.isAfterLast(); CSVcursor.moveToNext()) //Loop through all results (use row count of table) 
      { 
       String[] entries = (CSVcursor.getInt(CSVcursor.getColumnIndex("orderId"))+ "," 
         +CSVcursor.getInt(CSVcursor.getColumnIndex("itemId"))+ "," 
         +CSVcursor.getString(CSVcursor.getColumnIndex("itemName"))+ "," 
         +CSVcursor.getString(CSVcursor.getColumnIndex("itemPrice")) + "," 
         +CSVcursor.getInt(CSVcursor.getColumnIndex("itemCount"))+ "," 
         +CSVcursor.getString(CSVcursor.getColumnIndex("itemTotal"))+ "," 
         +CSVcursor.getString(CSVcursor.getColumnIndex("orderPaid"))+ "," 
         +CSVcursor.getInt(CSVcursor.getColumnIndex("orderVoid"))+ "," 
         +CSVcursor.getString(CSVcursor.getColumnIndex("orderType"))+ "," 
         +CSVcursor.getBlob(CSVcursor.getColumnIndex("orderSignature"))+ "," 
         +CSVcursor.getString(CSVcursor.getColumnIndex("referenceId"))+ "," 
         +CSVcursor.getInt(CSVcursor.getColumnIndex("orderTab"))+ "," 
         +CSVcursor.getString(CSVcursor.getColumnIndex("orderTime"))).split(","); //Split the string by the delimiter 
       writer.writeNext(entries); //Write current row of DB to file 
       writer.flush(); //Flush the stream 
      } 
      writer.close(); 

ファイルが正常に書かれていますが、私は.csvファイル、BLOBデータを保存している列を表示するとき、次のようになりつつあります。 3952929

@ 2123982 B @ 2342342 B @

B私はちょうど署名やファイルのいくつかの他の属性ではなく、ファイル自体を保存してるように見えます。

blobをビット/バッファでCSVファイルにストリーミングする必要はありますか?

+1

より一般的な解決策は、イメージを別のファイルとして保存することです。それ以外の場合は、BLOBカラムから 'byte []'を何らかの文字列表現に変換する方法を決め、その文字列をCSVファイルに入れなければなりません。 – CommonsWare

答えて

0

@ CommonSWareをエコーし​​ます。適切なことは、BLOBをイメージとしてディスクに保存することです。そうすれば、必要に応じてファイルに埋め込むために簡単に取り出すことができます。私はまだblobとしてdbに画像を保存し、ビューに表示するだけです。これらのファイルをcsvに入れる場合は、pdfのような別のタイプを検討します。

関連する問題