views:

52

answers:

2

I am creating a Generate Report button for some data in my application.

The report will just generate a CSV file, which I then automatically launch in excel.

Problem is with one of the data fields, is text and has leading zeroes (which I need to keep). When the file is automatically opened in excel, excel automatically trims these. Is there anyway I can get it so that it opens with the data in the format I want it.

I know you achieve this normally by opening the CSV file from within excel and can do the import wizard. So one potential solution would be to auto open the import wizard when the app launches this file. I don't know if this is possible.

Thanks for reading.

+1  A: 

Did you try quoting? i.e. "firstfield","second field","00032","etc"

sfuqua
+1  A: 

You might want to take a look into generating HTML instead. Using specific CSS information and additional attributes, you may be able to encode just enough information on the data that Excel does not mangle with it.

The basic idea is to tag your table data with a specific css class, and have that css class define, e.g., a number format:

<html>
 <head>
  <style>
   .myStyle { mso-number-format:"\@" }
  </style>
 </head>
 <body>
  <table>
   <tr>
    <td class="myStyle">000345</td>
   </tr>
  </table>
 </body>
</html>

Save such a file as .xls, and it opens in Excel. Excel will complain about html in a xls file, but open it nevertheless.

You can find a download for the documentation for this on MSDN:

Microsoft Office HTML and XML Reference

Arne
This is a great idea... I wish I'd thought of it sooner. I ended up finishing the problem with quotes though, but will definitely keep this in mind for next time
baron