2010-10-01 14 views

Répondre

5

CSV est un format de texte brut, de sorte que vous ne pouvez pas faire n'importe quel formatage.

Si vous souhaitez le formatage, pensez à utiliser une bibliothèque Excel telle que Apache POI ou Jasper Reports. (Bien sûr, vous vous retrouvez avec un fichier Excel plutôt qu'un fichier CSV, donc en fonction de votre situation qui peut ou ne peut pas être approprié)

En note, il y a quelques nuances étranges à l'écriture CSV (comme s'assurer que les guillemets, les virgules etc. sont correctement échappés). Il y a une belle bibliothèque légère que j'ai utilisée, appelée Open CSV, qui pourrait vous rendre la vie plus facile si vous choisissez de vous contenter de CSV.

3

CSV est un format de fichier texte, vous ne pouvez pas utiliser un effet de texte.

2

Non pas que je suis au courant, CSV est un format de texte brut. Si vous créez un fichier csv, de sorte que vous pouvez l'ouvrir dans Excel, alors je suggère de jeter un oeil au format XML MS Excel.

http://en.wikipedia.org/wiki/Microsoft_Office_XML_formats#Excel_XML_Spreadsheet_example

Un exemple serait le suivant (tiré du lien wikipedia, et cela fait un texte BOLD)

<?xml version="1.0"?> 
<?mso-application progid="Excel.Sheet"?> 
<Workbook 
    xmlns="urn:schemas-microsoft-com:office:spreadsheet" 
    xmlns:o="urn:schemas-microsoft-com:office:office" 
    xmlns:x="urn:schemas-microsoft-com:office:excel" 
    xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" 
    xmlns:html="http://www.w3.org/TR/REC-html40"> 
    <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office"> 
    <Author>Darl McBride</Author> 
    <LastAuthor>Bill Gates</LastAuthor> 
    <Created>2007-03-15T23:04:04Z</Created> 
    <Company>SCO Group, Inc.</Company> 
    <Version>11.8036</Version> 
    </DocumentProperties> 
    <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel"> 
    <WindowHeight>6795</WindowHeight> 
    <WindowWidth>8460</WindowWidth> 
    <WindowTopX>120</WindowTopX> 
    <WindowTopY>15</WindowTopY> 
    <ProtectStructure>False</ProtectStructure> 
    <ProtectWindows>False</ProtectWindows> 
    </ExcelWorkbook> 
    <Styles> 
    <Style ss:ID="Default" ss:Name="Normal"> 
     <Alignment ss:Vertical="Bottom" /> 
     <Borders /> 
     <Font /> 
     <Interior /> 
     <NumberFormat /> 
     <Protection /> 
    </Style> 
    <Style ss:ID="s21"> 
     <Font x:Family="Swiss" ss:Bold="1" /> 
    </Style> 
    </Styles> 
    <Worksheet ss:Name="Sheet1"> 
    <Table ss:ExpandedColumnCount="2" ss:ExpandedRowCount="5" 
     x:FullColumns="1" x:FullRows="1"> 
     <Row> 
     <Cell> 
      <Data ss:Type="String">Text in cell A1</Data> 
     </Cell> 
     </Row> 
     <Row> 
     <Cell ss:StyleID="s21"> 
      <Data ss:Type="String">Bold text in A2</Data> 
     </Cell> 
     </Row> 
     <Row ss:Index="4"> 
     <Cell ss:Index="2"> 
      <Data ss:Type="Number">43</Data> 
     </Cell> 
     </Row> 
     <Row> 
     <Cell ss:Index="2" ss:Formula="=R[-1]C/2"> 
      <Data ss:Type="Number">21.5</Data> 
     </Cell> 
     </Row> 
    </Table> 
    <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel"> 
     <Print> 
     <ValidPrinterInfo /> 
     <HorizontalResolution>600</HorizontalResolution> 
     <VerticalResolution>600</VerticalResolution> 
     </Print> 
     <Selected /> 
     <Panes> 
     <Pane> 
      <Number>3</Number> 
      <ActiveRow>5</ActiveRow> 
      <ActiveCol>1</ActiveCol> 
     </Pane> 
     </Panes> 
     <ProtectObjects>False</ProtectObjects> 
     <ProtectScenarios>False</ProtectScenarios> 
    </WorksheetOptions> 
    </Worksheet> 
</Workbook 
0

I plaine ancienne régulière CSV no. Mais il n'y a aucune raison pour que vous ne pouvez encoder vos données avant de les écrire sur ... par exemple les balises HTML pour le gras est <b> </b >. Cela vous indiquerait exactement quelles parties du texte sont en gras et si elles sont d'un niveau bien connu, elles sont encore lisibles par l'homme. Le principal inconvénient est que vous devez analyser vos données après l'avoir lu :(

Autre chose à considérer, puisque vous écrivez les données, pourquoi ne pas les écrire comme des valeurs séparées par des virgules dans RTF ou un autre format qui prend en charge Normalement, CSV est un texte en clair, mais il n'y a pas de raison pour que vous ne puissiez pas l'écrire d'une autre manière, rappelez-vous simplement de le lire dans le même format ...