• C# excel操作


    使用库

    Spire.Xls

    下载

    示例数据

    代码示例

    1.删除列

    代码

    1. private static void DeleteExcelColumns1(string excelPath)
    2. {
    3. if (excelPath.Length == 0)
    4. {
    5. Console.WriteLine("excel文件路径为空");
    6. }
    7. else
    8. {
    9. Console.WriteLine("删除列方法1:保留第一列,删除其他列");
    10. Workbook workbook = new Workbook();
    11. workbook.LoadFromFile(excelPath);
    12. //获取第一张工作表
    13. Worksheet sheet = workbook.Worksheets[0];
    14. int ColumnsLength = sheet.Columns.Count();
    15. //删除除了第一行以外的其他列,因为删除的操作是在上一步的结果上进行的操作
    16. for (int i = 2; i <= ColumnsLength; i++)
    17. {
    18. sheet.DeleteColumn(2);
    19. }
    20. //设置数据自适应列宽
    21. sheet.AllocatedRange.AutoFitColumns();
    22. //修改后的保存为csv文件
    23. sheet.SaveToFile(Path.GetDirectoryName(excelPath)+"/删除列方法1"+Path.GetFileNameWithoutExtension(excelPath)+".csv", ",", Encoding.UTF8);
    24. }
    25. }
    26. private static void DeleteExcelColumns2(string excelPath)
    27. {
    28. if (excelPath.Length == 0)
    29. {
    30. Console.WriteLine("excel文件路径为空");
    31. }
    32. else
    33. {
    34. Console.WriteLine("删除列方法2:保留第一列,删除其他列");
    35. Workbook workbook = new Workbook();
    36. workbook.LoadFromFile(excelPath);
    37. //获取第一张工作表
    38. Worksheet sheet = workbook.Worksheets[0];
    39. sheet.DeleteColumn(2,9);
    40. //设置数据自适应列宽
    41. sheet.AllocatedRange.AutoFitColumns();
    42. //修改后的保存为csv文件
    43. sheet.SaveToFile(Path.GetDirectoryName(excelPath) + "/删除列方法2" + Path.GetFileNameWithoutExtension(excelPath) + ".csv", ",", Encoding.UTF8);
    44. }
    45. }

    结果

    2.删除行

    代码

    1. private static void DeleteExcelRow1(string excelPath)
    2. {
    3. if (excelPath.Length == 0)
    4. {
    5. Console.WriteLine("excel文件路径为空");
    6. }
    7. else
    8. {
    9. Console.WriteLine("删除行方法1:保留第一行,删除其他行");
    10. Workbook workbook = new Workbook();
    11. workbook.LoadFromFile(excelPath);
    12. //获取第一张工作表
    13. Worksheet sheet = workbook.Worksheets[0];
    14. int ColumnsLength = sheet.Rows.Count();
    15. //删除除了第一行以外的其他列,因为删除的操作是在上一步的结果上进行的操作
    16. for (int i = 2; i <= ColumnsLength; i++)
    17. {
    18. sheet.DeleteRow(2);
    19. }
    20. //设置数据自适应列宽
    21. sheet.AllocatedRange.AutoFitColumns();
    22. //修改后的保存为csv文件
    23. sheet.SaveToFile(Path.GetDirectoryName(excelPath) + "/删除行方法1" + Path.GetFileNameWithoutExtension(excelPath) + ".csv", ",", Encoding.UTF8);
    24. }
    25. }
    26. private static void DeleteExcelRow2(string excelPath)
    27. {
    28. if (excelPath.Length == 0)
    29. {
    30. Console.WriteLine("excel文件路径为空");
    31. }
    32. else
    33. {
    34. Console.WriteLine("删除行方法2:保留第一行,删除其他行");
    35. Workbook workbook = new Workbook();
    36. workbook.LoadFromFile(excelPath);
    37. //获取第一张工作表
    38. Worksheet sheet = workbook.Worksheets[0];
    39. sheet.DeleteRow(2, 9);
    40. //设置数据自适应列宽
    41. sheet.AllocatedRange.AutoFitColumns();
    42. //修改后的保存为csv文件
    43. sheet.SaveToFile(Path.GetDirectoryName(excelPath) + "/删除行方法2" + Path.GetFileNameWithoutExtension(excelPath) + ".csv", ",", Encoding.UTF8);
    44. }
    45. }
    46. private static void DeleteExcelRow3(string excelPath)
    47. {
    48. if (excelPath.Length == 0)
    49. {
    50. Console.WriteLine("excel文件路径为空");
    51. }
    52. else
    53. {
    54. Console.WriteLine("删除行方法3:保留第一行,删除其他行");
    55. Workbook workbook = new Workbook();
    56. workbook.LoadFromFile(excelPath);
    57. //获取第一张工作表
    58. Worksheet sheet = workbook.Worksheets[0];
    59. int[] delrows = { 2, 3 ,4,5,6,7,8,9,10};
    60. sheet.DeleteRows(delrows);
    61. //设置数据自适应列宽
    62. sheet.AllocatedRange.AutoFitColumns();
    63. //修改后的保存为csv文件
    64. sheet.SaveToFile(Path.GetDirectoryName(excelPath) + "/删除行方法3" + Path.GetFileNameWithoutExtension(excelPath) + ".csv", ",", Encoding.UTF8);
    65. }
    66. }

    结果

    修改表

    代码

    1. private static void ChangeExcelHeader1(string excelPath)
    2. {
    3. if (excelPath.Length == 0)
    4. {
    5. Console.WriteLine("excel文件路径为空");
    6. }
    7. else
    8. {
    9. Console.WriteLine("修改表头");
    10. Workbook workbook = new Workbook();
    11. workbook.LoadFromFile(excelPath);
    12. //获取第一张工作表
    13. Worksheet sheet = workbook.Worksheets[0];
    14. string value0 = sheet.Cells[0].Value;
    15. Console.WriteLine(value0);
    16. string value11 = sheet.Cells[11].Value;
    17. Console.WriteLine(value11);
    18. sheet.Cells[1].Value = "12";
    19. string valuesA1 = sheet.Range["A1"].Value;
    20. Console.WriteLine(valuesA1);
    21. sheet.Range["C1"].Value = "13";
    22. //设置数据自适应列宽
    23. sheet.AllocatedRange.AutoFitColumns();
    24. //修改后的保存为csv文件
    25. sheet.SaveToFile(Path.GetDirectoryName(excelPath) + "/修改表头" + Path.GetFileNameWithoutExtension(excelPath) + ".csv", ",", Encoding.UTF8);
    26. }
    27. }

    结果

    参考文献

    C#/VB.NET 删除 Excel 中的行和列

  • 相关阅读:
    离线部署 python 3.x 版本
    Vmware下的虚拟机NAT连接后仍然木有网络
    【语音编码】基于matlab ADPCM编解码【G.723.1】(Matlab代码实现)
    【华为OD机试真题 python】流水线【2022 Q4 | 100分】
    练习前端案例
    彻底掌握Python中 * 号
    Nginx中配置GZIP压缩详解
    Redis——分布式缓存
    JavaSE | 接口
    WPF转义字符
  • 原文地址:https://blog.csdn.net/qq_39397927/article/details/133742537