lostfalling 2019-11-28 11:45 采纳率: 50%
浏览 167
已采纳

c# 用代码生成的excel表格,然后打开出错;把代码生成的删掉,手动新建一个,然后c#操作却可以打开。

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.IO;

using System.Reflection;

using Excel = Microsoft.Office.Interop.Excel;

namespace mytry

{
public partial class Form1 : Form
{

    public Form1()
    {
        InitializeComponent();

        Excel.Application excelapp = null;
        Excel.Workbook workbook2 = null;
        Excel.Worksheet worksheet2 = null;

        excelapp = new Excel.Application();
        excelapp.Visible = false;        
        excelapp.DisplayAlerts = false;  

        string filepath = Program.AppPath + @"\mycollection\myconvert.xlsx";

        if (!Directory.Exists("D:" + @"\Data3\" + @DateTime.Now.ToString("yyyy")))
        {
            Directory.CreateDirectory("D:" + @"\Data3\" + @DateTime.Now.ToString("yyyy"));
        }

        if (!Directory.Exists("D:" + @"\Data3\" + @DateTime.Now.ToString("yyyy") + @"\" + @DateTime.Now.ToString("MM")))
        {
            Directory.CreateDirectory("D:" + @"\Data3\" + @DateTime.Now.ToString("yyyy") + @"\" + @DateTime.Now.ToString("MM"));
        }

        if (!Directory.Exists("D:" + @"\Data3\" + @DateTime.Now.ToString("yyyy") + @"\" + @DateTime.Now.ToString("MM") + @"\" + @DateTime.Now.ToString("dd")))
        {
            Directory.CreateDirectory("D:" + @"\Data3\" + @DateTime.Now.ToString("yyyy") + @"\" + @DateTime.Now.ToString("MM") + @"\" + @DateTime.Now.ToString("dd"));
        }

        string mystr = "D:" + @"\Data3\" + @DateTime.Now.ToString("yyyy") + @"\" + @DateTime.Now.ToString("MM") + @"\" + @DateTime.Now.ToString("dd") + @"\";

        //string mybi = Program.AppPath + @"\model.xlsx";
        string filepath2 = mystr + @DateTime.Now.ToString("yyyy_MM_dd") + ".xlsx";
        if (!File.Exists(mystr + @DateTime.Now.ToString("yyyy_MM_dd") + ".xlsx"))
        {  
            File.Create(filepath2);  //生成excel表格
        }

        //打开表格
        workbook2 = excelapp.Workbooks._Open(filepath2, Missing.Value, Missing.Value, Missing.Value, Missing.Value
            , Missing.Value, Missing.Value, Missing.Value, Missing.Value
            , Missing.Value, Missing.Value, Missing.Value, Missing.Value);

        worksheet2 = (Excel.Worksheet)workbook2.Worksheets[1];

        //试写入值
        worksheet2.Cells[1, 1] = "123";

        workbook2.Save();
        workbook2.Close();
        excelapp.Quit();

    }
}

}

图片说明

图片说明

图片说明

  • 写回答

1条回答 默认 最新

  • threenewbee 2019-11-28 11:52
    关注
            File.Create(filepath2);  //生成excel表格
    

    这个生成的是空白的文件,不是空白的excel文件

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥100 关于使用MATLAB中copularnd函数的问题
  • ¥20 在虚拟机的pycharm上
  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常
  • ¥15 关于风控系统,如何去选择