我目前有这样的代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data;
using System.Drawing;
using System.ComponentModel;
using Excel = Microsoft.Office.Interop.Excel;
using Microsoft.Office.Interop.Excel;
namespace Excel1
{
class Program
{
static void Main(string[] args)
//public void ExcelOps()
{
//string str;
Excel.Application xlApp = new Excel.Application();
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(@"D:/WebServiceTemplate.xlsx");
Excel._Worksheet xlWorksheet = xlWorkbook.Sheets[1];
Excel.Range xlRange = xlWorksheet.UsedRange;
int rowCount = xlRange.Rows.Count;
int colCount = xlRange.Columns.Count;
int numSheets = xlWorkbook.Sheets.Count;
//
// Iterate through the sheets. They are indexed starting at 1.
//
for (int sheetNum = 1; sheetNum <=1; sheetNum++)
{
Worksheet sheet = (Worksheet)xlWorkbook.Sheets[sheetNum];
//
// Take the used range of the sheet. Finally, get an object array of all
// of the cells in the sheet (their values).
//
object[,] valueArray = (object[,])xlRange.get_Value(XlRangeValueDataType.xlRangeValueDefault);
//
// Do something with the data in the array with a custom method.
//
ProcessInput(valueArray);
}
}
public static void ProcessInput()
{
}
}
}
我正在尝试使用自定义方法对数组中的数据执行某些操作。当我运行它时,我收到一个错误“错误没有重载方法'ProcessInput'需要1个参数”
有什么问题?我该如何进行纠正?
答案 0 :(得分:8)
如果这是完整代码,编译器绝对正确。
此代码中没有任何 ProcessInput(..);
函数定义。
编辑
查看已修改的帖子会说您遗漏的内容是宣布您的ProcessInput
函数如static
public static void ProcessInput()
{
....
}
答案 1 :(得分:4)
现在(在编辑问题之后)问题是您正在调用实例方法(ProcessInput
)而没有类Program
的实例(Main
是静态的法)。
将ProcessInput
标记为 static ,以解决问题:
public static void ProcessInput()
{
}
或者,创建Program
类的实例并调用该方法:
Program prg = new Program();
prg.ProcessInput();
答案 2 :(得分:3)
尝试更改为
public static void ProcessInput()
{
}