我没看代码。我觉得 要么是这个什么浪潮ERP很烂,要么是你没找到在什么地方处理。ERP物料导入是必须的工具,没必要自己写,或者你们可以找下乙方。

解决方案 »

  1.   

    本来我写的也有导入程序,导入完数据之后还要对浪潮ERP进行财务账的调整很麻烦。我用企业管理器对ERP的SQL语句跟踪,看他的操作代码太多了,就想做个替代手工输字符的程序。输入的时候会莫名其妙的多按TAB键和ENTER键,ERP就会报错了。
      

  2.   

    重构提取方法,for 循环改成这样:for (int i = 0; i < 9; i++)
    {
        SetClipboardText(dataGridView1.Rows[i].Cells[4].Value.ToString(), 300);
        SendKey("^{V}", 300);    for (int j = 0; j < 3; j++) SendKey("{Tab}", 300);    SetClipboardText(dataGridView1.Rows[i].Cells[8].Value.ToString(), 300);
        SendKey("^{V}", 300);    for (int j = 0; j < 2; j++) SendKey("{Tab}", 300);    SetClipboardText(dataGridView1.Rows[i].Cells[0].Value.ToString(), 300);
        SendKey("^{V}", 300);
        SendKey("{ENTER}", 300);
        SendKeys.Flush();
    }
    private static void SetClipboardText(string text, int sleepTime = 0)
    {
        Clipboard.Clear();
        Clipboard.SetText(text);    if (sleepTime > 0)
        {
            System.Threading.Thread.Sleep(sleepTime);
        }
    }
    private static void SendKey(string key, int sleepTime = 0)
    {
        SendKeys.Flush();
        SendKeys.Send(key);
        
        if (sleepTime > 0)
        {
            System.Threading.Thread.Sleep(sleepTime);
        }
    }
      

  3.   

    本来我写的也有导入程序,导入完数据之后还要对浪潮ERP进行财务账的调整很麻烦。我用企业管理器对ERP的SQL语句跟踪,看他的操作代码太多了,就想做个替代手工输字符的程序。输入的时候会莫名其妙的多按TAB键和ENTER键,ERP就会报错了。