关于网友提出的“ winform里,将值导入EXCEL中一个sheet,再导第二个sheet 提示错误”问题疑问,本网通过在网上对“ winform里,将值导入EXCEL中一个sheet,再导第二个sheet 提示错误”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: winform里,将值导入EXCEL中一个sheet,再导第二个sheet 提示错误
描述: 如题。。
代码如下。。。
=====================================================
//ProgressBar pb = new ProgressBar();
object oMissing = System.Reflection.Missing.Value;
Excel.ApplicationClass xlApp = new Excel.ApplicationClass();<>
try
{<>
//打开EXCEL文件
Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(filepath, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing, oMissing);
// Excel.Workbook xlWorkbook=xlApp.Workbooks.只有Open属性,没有Write属性
// Excel.Worksheet xlWorksheet;
//循环所有DataTable
for (int i = 0; i < ds.Tables.Count; i++)
{
//添加入一个新的Sheel页
// xlWorksheet = (Excel.Worksheet)xlWorkbook.Worksheets.Add(oMissing, oMissing, 1, oMissing);
//// 以TableName作为新加的sheel页名
// xlWorksheet.Name ="sadasdas"; Excel.Worksheet xlWorksheet = (Excel.Worksheet)xlApp.ActiveSheet;
xlWorksheet.Name = SheetName;
//xlWorksheet = (Excel.Worksheet)xlWorkbook.Sheets["ASQ"];
//xlWorksheet.Activate() ;
progressBar1.Visible = true;
progressBar1.Maximum = ds.Tables[i].Rows.Count * ds.Tables[i].Columns.Count;
progressBar1.Minimum = 0;
int step = progressBar1.Maximum / ds.Tables[i].Rows.Count;
progressBar1.Step = step;
progressBar1.Value = progressBar1.Maximum - step *ds.Tables[i].Rows.Count;