调用wps表格 向单元格写入数据 简单模式 更适合于 循环 重复 模块 - 优化2

动作开发 · 514 次浏览
涛涛涛 创建于 1天8小时前

1.可以按单元格写入   如:   a1:d1   a3:c3   d3:h3    单行写入  暂不能多行写入   推荐使用

2.可以按序号写入       如:  1,2,6   写入第1\2\6行    单行写入  暂不能多行写入  从第一列开始写入  推荐使用

3.1可以自由写入使用 Range.End()实现      如:留空  从第一列开始写入  第1行,第2行不能为空    需要注意前两行和空行

如:Range("A1").End( xlDown).Row+1  xlUp 1.向上    xlDown  2.向下  单行写入

3.2可以自由写入使用ActiveCell()实现        如:0  从当前选择活动单元格开始写入  推荐使用

 

写入数据格式为:  文件1-文件2-文件3-文件4-文件5-文件6  要用"-"连接

数据最好 和 单元格数据大小一样(a1:f1)

            
 
 
 
 
//.cs  文件类型,便于外部编辑时使用
// 引用必要的命名空间
using Excel = Microsoft.Office.Interop.Excel;

// Quicker将会调用的函数。可以根据需要修改返回值类型。
public static void Exec(Quicker.Public.IStepContext context)
{
    var gg = context.GetVarValue("g3") as String;  // 读取动作里的变量值
    
    string[] bb = gg.Split('|');//需要用单引号
    
    int b0 = Convert.ToInt32(bb[0]);
    
    int i = bb[1].Split('-').Length;//需要用单引号
    
    Excel.Application excelApp = (Excel.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");

    Excel.Workbook wb = excelApp.ActiveWorkbook as Excel.Workbook;
    
    Excel.Worksheet ws = wb.ActiveSheet as Excel.Worksheet; // 获取当前活动工作表,显示转化用【as】进行转换,获取工作表
    
    switch (b0)
        {
            case 1:
                   Excel.Range range1 = ws.Range[bb[2]] as Excel.Range;
                   range1.Value2 = toy2(bb[1]);
                break;
            case 2:
                string b1 = "a"+bb[2];
                   Excel.Range range2 = ws.Range[b1].Resize[1, i] as Excel.Range;
                   range2.Value2 = toy2(bb[1]);
                   break;
            default:
                  if (bb[2] == "0"){
                  Excel.Range range3 = excelApp.ActiveCell.Resize[1, i] as Excel.Range;
                   excelApp.ActiveCell.Offset[1,0].Activate();
                   range3.Value2 = toy2(bb[1]);
                  }else{
                int i1 = ws.Range["a1"].get_End(Excel.XlDirection.xlDown).Row+1;
                string b2 = "a"+ i1;
                   Excel.Range range4 = ws.Range[b2].Resize[1, i] as Excel.Range;
                   range4.Value2 = toy2(bb[1]);
                }
                break;
        }
        
      
}

//Application.ActiveCell.Offset(1,0).Activate()

static string[,] toy2(string input)
{

    string[] parts = input.Split('-');//需要用单引号
    
    string[,] data = new string[1, parts.Length];
    for (int i = 0; i < parts.Length; i++)
    {
        data[0, i] = parts[i];
    }

    return data;
}
涛涛涛 最后更新于 2025/6/30

回复内容
暂无回复
回复主贴