调用KINGDEE的凭证导入接口

引入webservices在visualstudio2010中非常简单,只需要“添加web引用”就可以了,然后把相应的网址输入进去。

 

之后就是万年不变的编程和调用了。

 

看源码:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using WindowsFormsApplication1.EASLogin;
using WindowsFormsApplication1.WSGL;
using WindowsFormsApplication1.Properties;
using System.Xml;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {

        public EASLoginProxyService Proxy = new EASLoginProxyService();
        public WSContext WSC = new WSContext();       

        public Form1()
        {
            InitializeComponent();
           
        }
        public class LoginInfo
        {
            public String DBCenter;
            public int DBType;
            public String UserID;
            public String PassWord;

            //public LoginInfo();

            public void setDBCenter(String DBCenter)
            {
                this.DBCenter = DBCenter;
            }
            public String getDBCenter()
            {
                return this.DBCenter;
            }
            public void setDBType(int DBType)
            {
                this.DBType = DBType;
            }
            public int getDBType()
            {
                return this.DBType;
            }
            public void setUserID(String UserID)
            {
                this.UserID = UserID;
            }
            public String getUserID()
            {
                return this.UserID;
            }
            public void setPassWord(String PassWord)
            {
                this.PassWord = PassWord;
            }
            public String getPassWord()
            {
                return this.PassWord;
            }
       
        }
           

        private void Form1_Load(object sender, EventArgs e)
        {
           
           
        }

        private void button1_Click(object sender, EventArgs e)
        {

            LoginInfo LoginInfo = new LoginInfo();
            LoginInfo.setDBCenter(textBox1.Text);
            if (comboBox1.Text == "ORACLE")
            {
                LoginInfo.setDBType(1);
            }
            else if (comboBox1.Text == "SQLSERVER")
            {
                LoginInfo.setDBType(0);
            }
            else if (comboBox1.Text == "DB2")
            {
                LoginInfo.setDBType(2);
            }
            else
            {
                MessageBox.Show("“数据库类型”选择错误,请重新选择。", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }           
            LoginInfo.setUserID(textBox3.Text);
            LoginInfo.setPassWord(textBox4.Text);


                    
           
           
            try
            {
                WSC = Proxy.login(LoginInfo.getUserID(), LoginInfo.getPassWord(), "eas", LoginInfo.getDBCenter(), "L2", LoginInfo.getDBType(), "BaseDB");
                //WSContext WSC = Proxy.login("user", "kduser", "eas", "123", "L2", 0,"BaseDB");

                if (WSC.sessionId == null)
                {
                    MessageBox.Show("登录失败,请核对登录信息.", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {               
                   
                    Form2 fm2 = new Form2(this);
                    fm2.Show();
                    this.Hide();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("不能登录EAS服务器,请确认服务器已启动并保持网络畅通.", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
           
        }

        private void button2_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
    }
}
           

 

 

 

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.OleDb;
using Microsoft.Office.Interop.Excel;

namespace WindowsFormsApplication1
{
    public partial class Form2 : Form
    {
        public Form1 form1;
        public Form2(Form1 fm1)
        {
            InitializeComponent();
            form1 = fm1;
        }

        private void Form2_Load(object sender, EventArgs e)
        {
           
        }

        /*private void 保存ToolStripMenuItem_Click(object sender, EventArgs e)
        {

            System.Data.DataTable dt = new System.Data.DataTable();
            dt.Clear();

            foreach (DataGridViewColumn headerCell in dataGridView1.Columns)
            {
                dt.Columns.Add(headerCell.HeaderText);
            }
            foreach (DataGridViewRow item in dataGridView1.Rows)
            {
                DataRow dr = dt.NewRow();
                for (int i = 0; i < dt.Columns.Count; i++)
                {
                    dr[i] = item.Cells[i].Value.ToString();
                }
                dt.Rows.Add(dr);
            }

           

            saveFileDialog1.ShowDialog();
            String SaveFilePath = saveFileDialog1.FileName.ToString();

            SaveDataTableToExcel(dt,SaveFilePath);
        }*/

        public static DataSet LoadDataFromExcel(string filePath)
        {
            ///读取选定路径的excel类型文件
            try
            {
                string strConn;
                strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HDR=False;IMEX=1'";
                OleDbConnection OleConn = new OleDbConnection(strConn);
                OleConn.Open();
                String sql = "SELECT * FROM  [Sheet 1$]";//可是更改Sheet名称,比如sheet2,等等
                OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);
                DataSet OleDsExcle = new DataSet();
                OleDaExcel.Fill(OleDsExcle);
                OleConn.Close();
                return OleDsExcle;
            }
            catch (Exception err)
            {
                //MessageBox.Show("数据绑定Excel失败!失败原因:" + err.Message, "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return null;
            }
        }

        /*public static bool SaveDataTableToExcel(System.Data.DataTable excelTable, string filePath)
        {
           
            ///保存修改后的数据到文件。
           
            try
            {
                Microsoft.Office.Interop.Excel.Application app =
                new Microsoft.Office.Interop.Excel.ApplicationClass();

                app.Visible = false;
                Workbook wBook = app.Workbooks.Add(true);
                Worksheet wSheet = wBook.Worksheets[1] as Worksheet;
                if (excelTable.Rows.Count > 0)
                {
                    int row = 0;
                    row = excelTable.Rows.Count;
                    int col = excelTable.Columns.Count;
                    for (int i = 0; i < row; i++)
                    {
                        for (int j = 0; j < col; j++)
                        {
                            string str = excelTable.Rows[i][j].ToString();
                            wSheet.Cells[i + 2, j + 1] = str;
                        }
                    }
                }
                int size = excelTable.Columns.Count;
                for (int i = 0; i < size; i++)
                {
                    wSheet.Cells[1, 1 + i] = excelTable.Columns[i].ColumnName;
                }
                //设置禁止弹出保存和覆盖的询问提示框
                app.DisplayAlerts = false;
                app.AlertBeforeOverwriting = false;
                //保存工作簿 < type="text/JavaScript"> alimama_pid="mm_10249644_1605763_5027492"; alimama_type="f"; alimama_sizecode ="tl_1x5_8"; alimama_fontsize=12; alimama_bordercolor="FFFFFF"; alimama_bgcolor="FFFFFF"; alimama_titlecolor="0000FF"; alimama_underline=0; alimama_height=22; alimama_width=0; < src="http://a.alimama.cn/inf.js" type=text/javascript>
                wBook.Save();
                //保存excel文件
                app.Save(filePath);
                app.SaveWorkspace(filePath);
                app.Quit();
                app = null;
                return true;
            }
            catch (Exception err)
            {
                MessageBox.Show("导出Excel出错!错误原因:" + err.Message , "提示信息",  MessageBoxButtons.OK, MessageBoxIcon.Information);
                return false;
            }
            finally
            {
            }
        }*/

      

       

        private void 文件ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            openFileDialog1.ShowDialog();
            String OpenFilePath = openFileDialog1.FileName.ToString();
            if (OpenFilePath != null)
            {
                try
                {
                    dataGridView1.DataSource = LoadDataFromExcel(OpenFilePath).Tables[0].DefaultView;
                    dataGridView1.AllowUserToAddRows = false;
                    dataGridView1.AllowUserToDeleteRows = false;
                    dataGridView1.AlternatingRowsDefaultCellStyle.BackColor = Color.Silver;
                }
                catch (Exception ex0)
                {
                    MessageBox.Show("文件未打开。/n/n以下是解决方法:/n1.请正确选择文件路径。/n2.如果文件正在使用中,请关闭。/n3.请确定打开的文件类型为MICROSOFT EXCEL表格。/n4.确认要导入文件的表单名称为Sheet 1(‘Sheet’和‘1’之间有一个空格),若不是,请手动修改。/n/n如果以上方法都不能解决此问题,请联系计算机管理员。", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            else
            {
                MessageBox.Show("未选择数据", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }

        private void 退出系统ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            System.Windows.Forms.Application.Exit();
        }

        private void 编辑ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (dataGridView1.Rows.Count <= 0)
            {
                MessageBox.Show("没有选择数据,请点击'文件'-'打开'来选择数据。", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {              
                Form3 fm3 = new Form3(this,form1);
                fm3.Show();
                this.Hide();
            }
        }     
               
    }
}

 

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Xml;

namespace WindowsFormsApplication1
{
    public partial class Form3 : Form
    {

        public Form2 form2;
        public Form1 form1;
       
        public Form3(Form2 fm2,Form1 fm1)
        {
            InitializeComponent();
            form2 = fm2;
            form1 = fm1;
           
        }    
       
       

        private void Form3_Load(object sender, EventArgs e)
        {
            dateTimePicker1.Text = form2.dataGridView1.Rows[1].Cells["日期"].Value.ToString();
            dateTimePicker2.Text = form2.dataGridView1.Rows[1].Cells["日期"].Value.ToString();
            textBox5.Text = (form2.dataGridView1.Rows[1].Cells["日期"].Value.ToString()).Substring(0, 4);
            textBox2.Text = (form2.dataGridView1.Rows[1].Cells["日期"].Value.ToString()).Substring(5, 2);


            DataTable dt = new DataTable();
            dt.Columns.Add("分录行号");
            dt.Columns.Add("摘要");
            dt.Columns.Add("科目");
            dt.Columns.Add("借方");
            dt.Columns.Add("贷方");
            dt.Columns.Add("报告币借方");
            dt.Columns.Add("报告币贷方");

            for (int i = 1; i <= 80; i++)
            {
                DataRow dr = dt.NewRow();
                dr[0] = i;
                for (int j = 1; j <= 6; j++)
                {
                    dr[j] = "";
 
                }
                dt.Rows.Add(dr);
            }

            dataGridView1.DataSource = dt;


        }

        private void 导出到EAS系统ToolStripMenuItem_Click(object sender, EventArgs e)
        {

           
            ImportVoucher(e);
        }

        private void ImportVoucher(EventArgs e)
        {
            WSGL.WSGLWebServiceFacadeSrvProxyService ImportProxyService = new WSGL.WSGLWebServiceFacadeSrvProxyService();

            WSGL.WSWSVoucher[] vouchers = getvocher();           
            vouchers = getvocher();
           

            try
            {
                ImportProxyService.importVoucher(vouchers, 0, 00, 0);
                MessageBox.Show("导入成功", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
           
           

          
            //try
            //{
           
                //ls = ImportProxyService.getVoucher("01.0014","2010","4",1,3);
                //ImportProxyService.Url = "http://127.0.0.1:6888/ormrpc/services/"+"WSWSVoucher";

           
           
          

               // MessageBox.Show(vouchers.ToString());

               // ls = ImportProxyService.getVoucher(

            //}
            //catch (Exception ex)
            //{
            //    MessageBox.Show("未能导入数据,以下是详细信息:/n/n" + ex.ToString(), "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
            //}
        }
       
        public WSGL.WSWSVoucher[] getvocher()
        {
            WSGL.WSWSVoucher[] data = new WSGL.WSWSVoucher[1];
            data[0] = new WSGL.WSWSVoucher();
            data[0].companyNumber = "01.0014";
            data[0].bookedDate = "2010-04-29";
            data[0].bizDate = "2010-04-29";
            data[0].periodYear = 2010;
            data[0].periodNumber = 04;
            data[0].voucherType = "记";
            data[0].voucherNumber = "1";
            data[0].entrySeq = 1;
            data[0].accountNumber = "1001";
            data[0].currencyNumber = "BB01";
            data[0].entryDC = 1;
            data[0].originalAmount = 10000.21;
            data[0].debitAmount = 10000.21;
            data[0].creator = "任元元";
            data[0].itemFlag = 0;


            //data[0].accountNumber = "1001";
            data[0].assistBizDate = 111;
            data[0].assistEndDate = "";
            //data[0].asstSeq = 1;
            //data[0].attaches = 0;
            //data[0].auditor = "任元元";
            //data[0].bizDate = "2010-04-30";
            //data[0].bizNumber = "1";
            //data[0].bookedDate = "2010-04-30";
            //data[0].cashflowAmountLocal = 1001;
            //data[0].cashflowAmountOriginal = 1001;
            //data[0].cashflowAmountRpt = 1001;
            //data[0].companyNumber = "01.008";

            //data[0].cashflowAmountLocal = 1001.01;
            //data[0].cashflowAmountOriginal = 1001.01;
            //data[0].cashflowAmountRpt = 1001.01;

            MessageBox.Show(data[0].ToString());

            return data;
        }

        private void 退出系统ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

       
    }
}

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值