C# 动态读取和写入Excel工作表
我正在尝试创建一个新的Excel文件,其中包含多张工作表=名称列表中的项目。然后,每个工作表都应该使用名称列表中相应的条目进行命名。完成后,我需要一种方法来调用每张表 我遇到的问题是:工作表不喜欢被设置为列表,并且不接受Excel.Worksheetworkbook.Sheets[variable]中的变量 我可以完美地在一张纸上书写,但任何创建一张纸的尝试都失败了C# 动态读取和写入Excel工作表,c#,excel,C#,Excel,我正在尝试创建一个新的Excel文件,其中包含多张工作表=名称列表中的项目。然后,每个工作表都应该使用名称列表中相应的条目进行命名。完成后,我需要一种方法来调用每张表 我遇到的问题是:工作表不喜欢被设置为列表,并且不接受Excel.Worksheetworkbook.Sheets[variable]中的变量 我可以完美地在一张纸上书写,但任何创建一张纸的尝试都失败了 public CreateExcelDoc excell_app { get; set; } public Exc
public CreateExcelDoc excell_app { get; set; }
public Excel.Workbook workbook { get; set; }
public List<string> NameList = new List<string>();
public List<Excel.Worksheet> worksheets { get; set; } // tried: = new List<Excel.Worksheet>();
public void setupFile(int i) // this method errors on each of the 2 lines
{
worksheets[i] = (Excel.Worksheet)workbook.Worksheets.Add();
worksheets[i].Name = NameList[i];
} // this method is in a separate public class from CreateExcelDoc
public class CreateExcelDoc
{
private Excel.Application app = null;
Excel.Workbook workbook = null;
Excel.Worksheet worksheet = null;
private Excel.Range workSheet_range = null;
public CreateExcelDoc()
{
try
{
app = new Excel.Application();
app.Visible = true;
workbook = app.Workbooks.Add(1);
//worksheets[0] = (Excel.Worksheet)workbook.Sheets[1];
//worksheet.Name = "t";
}
catch (Exception e)
{
MessageBox.Show("Exception Occured while exporting to Excel doc. Error: " + e.ToString());
}
finally
{
}
}
_Other Methods for writing to cells omitted_
}
你说它是错误的-你看到了什么错误?另外,是否有理由使用单独的列表而不仅仅使用内置的工作表属性?NullReference是特定的错误。无论变量设置为什么,都会发生这种情况。-工作表属性的语法是什么?如果我知道如何使用它,我可能会做一些实验。已经编程21年了,但是只有3天使用Excel钩子。根据使用Excel界面的规则和建议,我最终使用了OOXML SDK,所以这是从做这件事的记忆中得到的。也就是说,我想我发现了你的问题。您似乎有两个工作簿定义—一个是属性,另一个是局部变量,但由于代码格式的原因,我无法确定。试着清理一下你的代码?我看到了你所说的冲突,但似乎无法消除它。我相信我的错误在于我如何引用工作簿和工作表变量,这些变量是全局变量。@Tawnos找到了我的问题所在。你提到的冲突是它的症状/副产品。我需要在我的Excel类中放入一个子程序方法来修改工作表。在课外这样做是行不通的。当我得到答案后,我会发布我自己的答案P