用Free Spire.XLS,可以从NuGet安装
Workbook workbook = new Workbook();
workbook.LoadFromFile(@"Test.xlsx");
Worksheet sheet = workbook.Worksheets[0];
sheet.AllocatedRange.NumberFormat = "0.00";
workbook.SaveToFile("ConvertTextToNumber.xlsx", ExcelVersion.Version2013);
您好,大佬,FreeSpire.XLS 这个程序集主要是实现啥?
然后你就可以使用Spire了
首先文件中必须要引用
using Spire.Xls;命名空间
给出一个读取Excel中数据到DataTable中的例子
Workbook book = new Workbook();
book.LoadFromFile(savepath);//savepath是要读取EXCEL文件的物理路径
DataTable table = book.Worksheets[0].ExportDataTable();
三句话搞定就可以得到Excel中的数据
噢噢明白了
sheet.AllocatedRange.NumberFormat = "0.00"这句代码在运行时不起作用Why??
@。LANGYUAN。: 我测了下貌似可以啊,你换这句代码看看有效果吗:sheet.AllocatedRange.ConvertToNumber();
@ms_doudou: 好呢
@ms_doudou: 🤭,谢谢大佬,可以运行处理呢,这句话很重要sheet.AllocatedRange.ConvertToNumber(); 谢谢大佬
@ms_doudou: 大佬可以问一下你一般是如何学习编程的呀,非常崇拜你
通过判断每一列的属性,设置列相应属性:
switch (dataTable.Columns[i].DataType.ToString())
{
case "System.DateTime":
DateTime dateTime;
DateTime.TryParse(strValue, out dateTime);
cell.SetCellValue(dateTime);
cell.CellStyle = dateStyle;
break;
case "System.Boolean":
bool bValue;
bool.TryParse(strValue, out bValue);
cell.SetCellValue(bValue);
break;
case "System.Int16":
case "System.Int32":
case "System.Int64":
case "System.Byte":
int iValue = 0;
int.TryParse(strValue, out iValue);
cell.SetCellValue(iValue);
break;
case "System.Decimal":
case "System.Double":
double dValue = 0;
double.TryParse(strValue, out dValue);
cell.SetCellValue(dValue);
break;
default:
cell.SetCellValue(strValue);
break;
}