我有一些代码可以将数据写入CSV文件,但它会将数据写入CSV 没有正确格式化。我想大胆一些具体的文字。这可能吗?
答案 0 :(得分:5)
CSV只是纯文本格式,因此您无法进行任何格式化。
如果您想要格式化,请考虑使用Excel库,例如Apache POI或Jasper Reports。 (当然,你最终得到一个excel文件而不是CSV,所以根据你的情况可能适合或不适合)
作为旁注,编写CSV有一些奇怪的细微差别(例如确保引号,逗号等被正确转义)。我使用了一个很好的轻量级库Open CSV,如果您选择使用普通的旧CSV,可能会让您的生活更轻松。
答案 1 :(得分:3)
CSV是纯文本文件格式,不能使用任何文字效果。
答案 2 :(得分:2)
我不知道,CSV是纯文本格式。 如果您正在创建一个csv,以便可以在Excel中打开它,那么我建议您查看MS Excel XML格式。
http://en.wikipedia.org/wiki/Microsoft_Office_XML_formats#Excel_XML_Spreadsheet_example
一个例子如下(取自维基百科链接,这使得一些文字大胆)
<?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
答案 3 :(得分:0)
我简单的旧常规CSV没有。但是没有理由为什么在写出之前无法对数据进行编码...例如,粗体的HTML标记是&lt; b&gt;&lt; / b&gt;。这将向您发出确切信号,表明文本的哪些部分是粗体,并且来自众所周知的标准仍然是人类可读的。主要缺点是你必须在阅读后解析数据:(
要考虑的其他因素,因为您正在编写数据,为什么不将它写为RTF中的逗号分隔值或其他支持粗体等的格式?通常CSV是纯文本,但没有理由不能用其他方式写出来。请记住以相同的格式阅读它...