C# 复制excel工作表时,HRESULT异常:0x800A03EC
我正在尝试将现有excel工作表复制到当前excel文件中。我正在使用这个代码C# 复制excel工作表时,HRESULT异常:0x800A03EC,c#,excel,vsto,C#,Excel,Vsto,我正在尝试将现有excel工作表复制到当前excel文件中。我正在使用这个代码 Workbook wkActive = Globals.ThisAddIn.Application.ActiveWorkbook; Microsoft.Office.Interop.Excel.Workbook workbook = Globals.ThisAddIn.Application.Workbooks.O
Workbook wkActive = Globals.ThisAddIn.Application.ActiveWorkbook;
Microsoft.Office.Interop.Excel.Workbook workbook = Globals.ThisAddIn.Application.Workbooks.Open(IdsTemplatePath, 0, true, 5, "", "", true, XlPlatform.xlWindows, "\t", false, false, 0, true, false, false);
Microsoft.Office.Interop.Excel.Worksheet worksheet = workbook.Sheets[1] as Microsoft.Office.Interop.Excel.Worksheet;
worksheet.Copy(Type.Missing, wkActive);
wkActive.Save();
但在复制方法中,我得到了错误
Exception from HRESULT: 0x800A03EC
我做错了什么以及我应该做什么来完成我的任务我得到了解决方案
Microsoft.Office.Interop.Excel.Workbook CurrentWk
= ((Microsoft.Office.Interop.Excel.Workbook)Globals.ThisAddIn.Application.ActiveWorkbook);
if (Path.GetExtension(CurrentWk.Name) != ".xlsx")
{
MessageBox.Show("Please save the document before complete this task", "warning");
}
else
{
Microsoft.Office.Interop.Excel.Workbook workbook = Globals.ThisAddIn.Application.Workbooks.Open(IdsTemplatePath, 0, true, 5, "", "", true, XlPlatform.xlWindows, "\t", false, false, 0, true, false, false);
Microsoft.Office.Interop.Excel.Worksheet worksheet = null;
totalSheet = workbook.Worksheets.Count;
for (int sheetNum = 1; sheetNum <= totalSheet; sheetNum++)
{
worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[sheetNum];
sheetname = worksheet.Name.Replace("\r", "").Replace("\a", "").Trim().ToLower();
if (sheetname == "ids_template")
{
try
{
worksheet.Copy(CurrentWk.Sheets[1]);
workbook.Close(SaveChanges, Type.Missing, Type.Missing);
}
catch { }
ids_template_found = true;//here it is set true because template sheet is added above in current workbook.
break;
}
}
}
Microsoft.Office.Interop.Excel.Workbook CurrentWk
=((Microsoft.Office.Interop.Excel.Workbook)Globals.ThisAddIn.Application.ActiveWorkbook);
if(Path.GetExtension(CurrentWk.Name)!=“.xlsx”)
{
MessageBox.Show(“请在完成此任务之前保存文档”,“警告”);
}
其他的
{
Microsoft.Office.Interop.Excel.Workbook Workbook=Globals.ThisAddIn.Application.Workbook.Open(IdsTemplatePath,0,true,5,“,”,true,XlPlatform.xlWindows,“\t”,false,false,0,true,false,false);
Microsoft.Office.Interop.Excel.Worksheet工作表=空;
totalSheet=workbook.Worksheets.Count;
对于(int sheetNum=1;sheetNum我得到了解决方案
Microsoft.Office.Interop.Excel.Workbook CurrentWk
= ((Microsoft.Office.Interop.Excel.Workbook)Globals.ThisAddIn.Application.ActiveWorkbook);
if (Path.GetExtension(CurrentWk.Name) != ".xlsx")
{
MessageBox.Show("Please save the document before complete this task", "warning");
}
else
{
Microsoft.Office.Interop.Excel.Workbook workbook = Globals.ThisAddIn.Application.Workbooks.Open(IdsTemplatePath, 0, true, 5, "", "", true, XlPlatform.xlWindows, "\t", false, false, 0, true, false, false);
Microsoft.Office.Interop.Excel.Worksheet worksheet = null;
totalSheet = workbook.Worksheets.Count;
for (int sheetNum = 1; sheetNum <= totalSheet; sheetNum++)
{
worksheet = (Microsoft.Office.Interop.Excel.Worksheet)workbook.Worksheets[sheetNum];
sheetname = worksheet.Name.Replace("\r", "").Replace("\a", "").Trim().ToLower();
if (sheetname == "ids_template")
{
try
{
worksheet.Copy(CurrentWk.Sheets[1]);
workbook.Close(SaveChanges, Type.Missing, Type.Missing);
}
catch { }
ids_template_found = true;//here it is set true because template sheet is added above in current workbook.
break;
}
}
}
Microsoft.Office.Interop.Excel.Workbook CurrentWk
=((Microsoft.Office.Interop.Excel.Workbook)Globals.ThisAddIn.Application.ActiveWorkbook);
if(Path.GetExtension(CurrentWk.Name)!=“.xlsx”)
{
MessageBox.Show(“请在完成此任务之前保存文档”,“警告”);
}
其他的
{
Microsoft.Office.Interop.Excel.Workbook Workbook=Globals.ThisAddIn.Application.Workbook.Open(IdsTemplatePath,0,true,5,“,”,true,XlPlatform.xlWindows,“\t”,false,false,0,true,false,false);
Microsoft.Office.Interop.Excel.Worksheet工作表=空;
totalSheet=workbook.Worksheets.Count;
对于(int sheetNum=1;sheetNum为什么要传递Readonly
true
并将Converter
从0更改为1。为什么要传递Readonly
true
并将Converter
从0更改为1。