c#怎么将excel表格中一列按照要求的内容来分成多列?请赐教
参考代码:
using Spire.Xls;
using System.Drawing;
namespace SplitData_XLS
{
class Program
{
static void Main(string[] args)
{
//创建Workbook,加载Excel测试文档
Workbook book = new Workbook();
book.LoadFromFile("sample.xlsx");
//获取指定工作表
Worksheet sheet = book.Worksheets[0];
//添加文本到单元格
sheet.Range["B1:F1"].Merge();
sheet.Range["B1"].Style.HorizontalAlignment = HorizontalAlignType.Center;
sheet.Range["B1"].Value = "数据拆分结果";
sheet.Range["B1"].Style.Font.Color= Color.Red;
sheet.Range["B1"].Style.Font.IsBold = true;
//从第2行数据遍历到最后一行
string[] splitText;
string text;
for (int i = 1; i < sheet.LastRow; i++)
{
text = sheet.Range[i + 1, 1].Text;
//分割按逗号作为分隔符的数据列(注意这里分隔符以英文输入状态下的字符为准)
splitText = text.Split('分隔符');
//保存被分割的数据到数组,数组项写入列
for (int j = 0; j < splitText.Length; j++)
{
sheet.Range[i + 1, 1 + j + 1].Text = splitText[j];
}
}
//设置数据自适应列宽
sheet.AllocatedRange.AutoFitColumns();
//保存并打开文档
book.SaveToFile("result.xlsx", ExcelVersion.Version2013);
System.Diagnostics.Process.Start("result.xlsx");
}
}
}
※需引用Spire.Xls.dll
就这还用得到C#?excel不是就有工具吗
全选,数据->分列->分隔符->其他,
最好先把分隔符统一一下
你如果非用c#做,那无非也就是split一下呗