I am trying the Spire XLS solution in C# and i have some troubles about import CSV and use values.
My CSV is :
Title1;Title2;Title3;Title4;SomeStuff1;SomeStuff2;SomeStuff3;SomeStuff4
Value1;Value2;Value3;Value4
Value1;Value2;Value3;Value4
Value1;Value2;Value3;Value4
So what I do is :
- Code: Select all
/* -------------------- */
// Spire XLS
Workbook wb = new Workbook();
wb.Version = ExcelVersion.Version2016;
wb.LoadFromFile("record.csv", ";", 1, 1);
Worksheet sheet = wb.Worksheets[0];
Chart chart = sheet.Charts.Add(ExcelChartType.ScatterMarkers);
// I have a problem here because the range is not a number value
chart.DataRange = sheet.Range["L2:L20"];
chart.SeriesDataFromRange = false;
chart.LeftColumn = 1;
chart.TopRow = 6;
chart.RightColumn = 9;
chart.BottomRow = 25;
chart.ChartTitle = "Scatter Chart";
chart.ChartTitleArea.IsBold = true;
chart.ChartTitleArea.Size = 12;
// X values
chart.Series[0].Values = sheet.Range["L2:L20"];
// Y values
chart.Series[0].CategoryLabels = sheet.Range["A2:A20"];
wb.SaveToFile("fileExcel.xlsx", ExcelVersion.Version2016);
System.Diagnostics.Process.Start("fileExcel.xlsx");
/* -------------------- */
The issue I have is it didn't convert to number even if i used the ConvertToNumber function.
I tried a lot of things with ConvertToNumber but it still returns "NaN".
- Code: Select all
string test = sheet.Range["A2"].NumberText;
double test1;
sheet.Range["C2"].ConvertToNumber();
sheet.Range["C3"].ConvertToNumber();
sheet.Range["C4"].ConvertToNumber();
sheet.Range["C5"].ConvertToNumber();
sheet.Range["C6"].ConvertToNumber();
sheet.Range["C7"].ConvertToNumber();
sheet.Range["C8"].ConvertToNumber();
sheet.Range["C9"].ConvertToNumber();
// Return string value "-0.14"
test = sheet.Range["C2"].Value;
// Return double value NaN
test1 = sheet.Range["C2"].NumberValue;
test = sheet.Range["C3"].Value;
test1 = sheet.Range["C3"].NumberValue;
test = sheet.Range["C4"].Value;
test1 = sheet.Range["C4"].NumberValue;
test = sheet.Range["C5"].Value;
test1 = sheet.Range["C5"].NumberValue;
test = sheet.Range["C6"].Value;
test1 = sheet.Range["C6"].NumberValue;
test = sheet.Range["C7"].Value;
test1 = sheet.Range["C7"].NumberValue;
test = sheet.Range["C8"].Value;
test1 = sheet.Range["C8"].NumberValue;
test = sheet.Range["C9"].Value;
test1 = sheet.Range["C9"].NumberValue;
I searched a lot but I didn't find any solution.
Thanks,
Simon