C#关于WPS导出Excel表格

我想用WPS导出Excel表格,但是WPS2016安装目录下没有etapp.dll,这是为啥?从网上下载dll也不行,都是x86的

只有wps企业版可以二次开发,你网站上下载的个人版不行。企业版不是免费的。

建议用NPOI

https://github.com/tonyqus/npoi

使用C#写WPS的excel
最近因为工作需要,用C#WPS重写excel表的某写数据。因为完全没接触过这方面的内容,所以写起来比较费劲非常简单的一个功能,折腾了多半天。

现在将小白操作记录下来。以备以后查看。

  1. 首先将wps的相关COM组件添加至引用。project -> add reference -> com-> Kingsoft ET 2.0 Object Library.

  2. 代码中添加using KSO; using ET;

  3. 打开xls文件的相关代码:

ET.Application etApp;
ET.workbook etbook;
ET.Worksheet etsheet ;
ET.Range etrange;
//获取工作表表格
etApp = new ET.Application();
etbook = (ET.workbook)etApp.Workbooks.Open(@"c:\file.xls");

//获取数据区域
etsheet = (ET.Worksheet)etbook.Worksheets.get_Item(1);

//获取数据区域
etrange = (ET.Range)etsheet.UsedRange;

  1. 读取某单元格的数据内容:

string strData = ((ET.Range)etrange.get_Item(i, j)).Text;

  1. 写入某单元格的数据内容:

((ET.Range)etrange.get_Item(i, j)).Value = strData;

  1. 关闭文件及相关资源:

etbook.Close();
etApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(etrange);
System.Runtime.InteropServices.Marshal.ReleaseComObject(etsheet);
System.Runtime.InteropServices.Marshal.ReleaseComObject(etbook);
System.Runtime.InteropServices.Marshal.ReleaseComObject(etApp);

建议使用管家重新安装一下就可以了

建议使用管家重新安装一下就可以

首先将wps的相关COM组件添加至引用。project -> add reference -> com-> Kingsoft ET 2.0 Object Library.

  1. 代码中添加using KSO; using ET;

  2. 打开xls文件的相关代码:

ET.Application etApp;
ET.workbook etbook;
ET.Worksheet etsheet ;
ET.Range etrange;
//获取工作表表格
etApp = new ET.Application();
etbook = (ET.workbook)etApp.Workbooks.Open(@"c:\file.xls");

//获取数据区域
etsheet = (ET.Worksheet)etbook.Worksheets.get_Item(1);

//获取数据区域
etrange = (ET.Range)etsheet.UsedRange;

  1. 读取某单元格的数据内容:

string strData = ((ET.Range)etrange.get_Item(i, j)).Text;

  1. 写入某单元格的数据内容:

((ET.Range)etrange.get_Item(i, j)).Value = strData;

  1. 关闭文件及相关资源:

etbook.Close();
etApp.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(etrange);
System.Runtime.InteropServices.Marshal.ReleaseComObject(etsheet);
System.Runtime.InteropServices.Marshal.ReleaseComObject(etbook);
System.Runtime.InteropServices.Marshal.ReleaseComObject(etApp);

    需要一个授权的WPS软件才行

建议使用管家重新安装一下就好了

谢谢大佬们的回答,我已经发现了,只有专业版才行,使用其appcore.dll就行了