iis 用于读取服务器上Excel文件的Web API,仅使用可用选项

3pvhb19x  于 2023-04-30  发布在  其他
关注(0)|答案(1)|浏览(97)

在WEB服务器上,我们需要上传一个Excel文件(.xlsx)并解析它。使用C#和。净6.
我正在寻找一种方法来做到这一点,只有可用的工具。到目前为止,有人建议我:

  1. Ole Automation -不工作,因为我们没有Excel或任何办公软件的服务器上
    1.通过OleDB连接- Microsoft。ACE.OLEDB.12.0 -这也是不可能的,因为它不存在于服务器上,也不会存在。
    1.使用一些第三方组件,我们可能有法律的的权利,需要支付许可证。
    这些选项都不是我的项目的选项。如果不考虑这些选项,您将如何解析Excel文件?
    我们只需要读它。
sr4lhrrt

sr4lhrrt1#

这样的例子还有很多。你可以试试这个教程。
在Visual Studio中创建新项目。

using System;
using System.Windows.Forms;    
using System.Runtime.InteropServices;    
using Excel = Microsoft.Office.Interop.Excel;            
namespace WindowsFormsApplication4    
{    
    public partial class Form1 : Form   
    {   
        public Form1()  
        {
            InitializeComponent();    
        }
        private void button1_Click(object sender, EventArgs e)    
        {   
            Excel.Application xlApp ;  
            Excel.Workbook xlWorkBook ; 
            Excel.Worksheet xlWorkSheet ;  
            Excel.Range range ;   
            string str;
            int rCnt ;
            int cCnt ;
            int rw = 0;
            int cl = 0;
            xlApp = new Excel.Application();
            xlWorkBook = xlApp.Workbooks.Open(@"d:\csharp-Excel.xls", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
            xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);
            range = xlWorkSheet.UsedRange;
            rw = range.Rows.Count;
            cl = range.Columns.Count;
            for (rCnt = 1; rCnt  < = rw; rCnt++)
            {
                for (cCnt = 1; cCnt  < = cl; cCnt++)
                {
                    str = (string)(range.Cells[rCnt, cCnt] as Excel.Range).Value2;
                    MessageBox.Show(str);
                }
            } 
            xlWorkBook.Close(true, null, null);
            xlApp.Quit();
            Marshal.ReleaseComObject(xlWorkSheet);
            Marshal.ReleaseComObject(xlWorkBook);
            Marshal.ReleaseComObject(xlApp);
        }
    }
}

它需要添加Microsoft Excel 15。0对象库到您的项目。
教程链接:http://csharp.net-informations.com/excel/csharp-read-excel.htm

相关问题