I am using aspose.cell to read my csv file with comma (,) as column delimiter & single quote (') as text qualifier & newline as row delimiter. Looks like below one: ex:
'1','2','3','4'
'5','6','7','8'
while reading from aspose.cell, the values(considering all text values no numeric) are render like
1', 2', 3', 4'
5', 6', 7', 8'
can somebody help one this, how to my csv file with single quote (') as text qualifier with aspose.cell?
Thank you
Hi Ramesh,
Thanks for your posting and using Aspose.Cells.
You can use one separator only at a time. Either you can use Single Quote as a separator or you can use Comma as separator but you cannot use both.
Please see the following code. It loads the s1.csv (attached) with Single Quote as a separator and saves in xls format. Then it loads s1.csv again with Comma as a separator and saves in xls format.
I have attached both output xls files for your reference.
C#
TxtLoadOptions opts = new TxtLoadOptions();
opts.Separator = ‘’’; //using single quote as separator
Workbook workbook = new Workbook(“s1.csv”, opts);
workbook.Save(“output(single quote).xls”);
opts.Separator = ‘,’; //using comma as separator
workbook = new Workbook(“s1.csv”, opts);
workbook.Save(“output(comma).xls”);
Hi,
Thank you for the early response.
but, in the same file if I replace the single quote (’) with double quote (") it’s working fine. I am getting
values/text with quotes.
ex:
“1”,“2”,“3”,"4"
“5”,“6”,“7”,“8"
output
1,2,3,4
5,6,7,8
Please let me know, Is there any options to process the Single Quote (’) like Double quote (”)?
Thank you.
Hi Ramesh,
Thanks for your posting and using Aspose.Cells.
Double quote are actually used to denote string. Here the separator remains comma.
2 means numeric 2 while “2” means string 2.
For csv format, “2” means string with 1 character, while ‘2’ means string with 3 characters.
The behavior of MS-Excel and Aspose.Cells is same when dealing with single quote or double quote character.
As a workaround, you can load your csv file as string and replace all single quote characters with double quote characters and try at your end.
Hi Ramesh,
Thanks for your posting and using Aspose.Cells.
There is no distinction of row delimiter, it is always CRLF. Both MS-Excel and Aspose.Cells do not recognize any other row delimiter. So the only solution is that your replace @ (or any other row delimiter) with CRLF on runtime dynamically and then use Aspose.Cells to load your csv file into workbook and save it in xls/xlsx format.
Hi
I could able to fix the above issue but I have another CSV file issue as described below. The comma (",") is causing the issue. String itemName = “Less: Sig Inv, MSAs, DTA > 10% Limit”; I want to display this this text in CSV file in single cell but instead it’s saving in three separate cells. It makes no difference If I use --> String.Format(""{0}"", itemName) If I use --> String.Format(""{0}"", itemName.ToString().Replace(""", “”"")); It show as --> " Less: Sig Inv, MSAs, DTA > 10% Limit". ( I could able to display this text in single cell but adding double quotes at the beginning and end of the string in single cell).
I am using ASPOSE.Cells 16.12.4 version with
.NetFrame work 4.52
Please help.
Hi Narender,
Thank you for writing back.
Please note, as you are loading a CSV (comma separated values) where comma is the delimiter therefore the Aspose.Cells will split the value as soon as it reads a comma. There is only one way to avoid this situation, that is to encapsulate the whole string in double quotes. Please check the attached sample CSV and its resultant XLSX.
C#
var book = new Workbook(dir + “sample.csv”, new TxtLoadOptions());
book.Save(dir + “output.xlsx”);
Hi,
Thanks for your posting and using Aspose.Cells.
Pleas share your simple sample code, your output csv file and your expected csv file. You can create your expected csv file manually using Notepad or MS-Excel.
Please also download and try the following latest versions
Aspose.Cells for .NET (Latest Version)
and let us know your feedback.