北山有海 2017-06-29 01:31 采纳率: 0%
浏览 1402

c#做Excel循环打开的操作,关闭Excel打开另一个Excel

//点击该按钮执行线程
每次只打开一个报文,我这里用个while循环打开
那每次打开的时候是不是要用线程中的暂停啊,关闭的时候在恢复线程
求解惑?
private void btnLoad_Click(object sender, RoutedEventArgs e)
{
MainWindow obj = new MainWindow();
Thread thread = new Thread(new ThreadStart(obj.OpenOneExcel));
thread.Start();
}

public List listIDs = new List() { 1053, 1054, 1055 };

private void OpenOneExcel()
{
while (true)
{
Microsoft.Office.Interop.Excel.Application Eapp = new Microsoft.Office.Interop.Excel.Application(); //引用Excel对象
string wjm = HospContext.GetFileName(listIDs[0]);根据数组获取ID查询数据库里的名称(包含Excel存放路径)
FileStream fs = new FileStream(wjm, FileMode.OpenOrCreate, FileAccess.Read);
Microsoft.Office.Interop.Excel.Workbook book = Eapp.Application.Workbooks.Add(wjm);//知道Excel路径
Eapp.Visible = true;

if (fs.CanRead)
{
fs.Close();
if (listIDs.Count() > 1)
{
listIDs.RemoveAt(0);
}
else
{

}
}

Thread.CurrentThread.Join(100);//阻止设定时间
}

  • 写回答

1条回答 默认 最新

  • 小猪八Q 2017-07-04 02:18
    关注

    这种情况,你总是要捕捉关闭事件的,你在关闭事件中,打开新的就可以了,没必要使用线程

    评论

报告相同问题?

悬赏问题

  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?
  • ¥20 关于#单片机#的问题:项目:使用模拟iic与ov2640通讯环境:F407问题:读取的ID号总是0xff,自己调了调发现在读从机数据时,SDA线上并未有信号变化(语言-c语言)
  • ¥20 怎么在stm32门禁成品上增加查询记录功能
  • ¥15 Source insight编写代码后使用CCS5.2版本import之后,代码跳到注释行里面
  • ¥50 NT4.0系统 STOP:0X0000007B
  • ¥15 想问一下stata17中这段代码哪里有问题呀
  • ¥15 flink cdc无法实时同步mysql数据
  • ¥100 有人会搭建GPT-J-6B框架吗?有偿