commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gunnar Wagenknecht (JIRA)" <j...@apache.org>
Subject [jira] Created: (SANDBOX-263) Excel Strategy using wrong seperator
Date Tue, 07 Oct 2008 11:33:44 GMT
Excel Strategy using wrong seperator
------------------------------------

                 Key: SANDBOX-263
                 URL: https://issues.apache.org/jira/browse/SANDBOX-263
             Project: Commons Sandbox
          Issue Type: Bug
          Components: CSV
            Reporter: Gunnar Wagenknecht


The Excel strategy is defined as follows.
{code}
    public static CSVStrategy EXCEL_STRATEGY   = new CSVStrategy(',', '"', COMMENTS_DISABLED,
ESCAPE_DISABLED, false, 
                                                                 false, false, false);
{code}

However, when I do a "Save as" in Excel the separator used is actually {{';'}}. Thus, parsing
the CSV file as suggested in the JavaDoc of {{CSVParser}} fails.

{code}
String[][] data =
   (new CSVParser(new StringReader("a;b\nc;d"), CSVStrategy.EXCEL_STRATEGY)).getAllValues();
{code}

Simple test to reproduce:
{code}
import java.io.IOException;
import java.io.StringReader;

import org.apache.commons.csv.CSVParser;
import org.apache.commons.csv.CSVStrategy;

public class CSVExcelStrategyBug {

	public static void main(final String[] args) {
		try {
			System.out.println("Using ;");
			parse("a;b\nc;d");
			System.out.println();
			System.out.println("Using ,");
			parse("a,b\nc,d");
		} catch (final IOException e) {
			e.printStackTrace();
		}

	}

	private static void parse(final String input) throws IOException {
		final String[][] data = (new CSVParser(new StringReader(input), CSVStrategy.EXCEL_STRATEGY)).getAllValues();
		for (final String[] row : data) {
			System.out.print("[");
			for (final String cell : row) {
				System.out.print("(" + cell + ")");
			}
			System.out.println("]");
		}
	}

}
{code}

Actual output:
{noformat}
Using ;
[(a;b)]
[(c;d)]

Using ,
[(a)(b)]
[(c)(d)]
{noformat}

Expected output:
{noformat}
Using ;
[(a)(b)]
[(c)(d)]

Using ,
[(a,b)]
[(c,d)]
{noformat}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message