想不明白怎么解决的鱼 2022-08-29 14:55 采纳率: 53.3%
浏览 33
已结题

c#怎么将excel表格中一列分成多列

c#怎么将excel表格中一列按照要求的内容来分成多列?请赐教

img

img

  • 写回答

2条回答 默认 最新

  • Dadamia 2022-08-30 09:44
    关注

    参考代码:

    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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月8日
  • 已采纳回答 8月31日
  • 修改了问题 8月29日
  • 创建了问题 8月29日

悬赏问题

  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系