OLEDB连接创建Excel文件无法打开

i_shrine i_shrine 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
小弟使用以下代码,通过OLEDB连接创建Excel,发现了一些问题:

1. 使用第18行语句Data Source=D:/test.xls,发现在D盘创建了test.xls文件,但是打开时候会发现以下报警:



如果点Yes,可以发现创建好的test.xls可以打开且显示正常



请问如何避免此类报警?

2. 如果使用第20行语句Data Source=D:/test.xlsx,发现D盘创建了test.xlsx文件,但是无法打开,报警如下:



请问怎么通过OLEDB创建xlsx文件,谢谢!


using System;
using System.Windows;
using System.Data.OleDb;

namespace WpfApp9
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
String sConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=D:/test.xls;" + "Extended Properties=Excel 12.0;";

//String sConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=D:/test.xlsx;" + "Extended Properties=Excel 12.0;";

OleDbConnection cn = new OleDbConnection(sConnectionString);
string sqlCreate = "CREATE TABLE TestSheet ([ID] INTEGER,[Username] VarChar,[UserPwd] VarChar)";
OleDbCommand cmd = new OleDbCommand(sqlCreate, cn);
cn.Open();
cmd.ExecuteNonQuery();
cmd.CommandText = "INSERT INTO TestSheet VALUES(1,'elmer','password')";
cmd.ExecuteNonQuery();
cn.Close();
}
}
}
...全文
评论 4
收藏 已收藏
分享
返回顶部
i_shrine
C# 111,129 成员 642,539 内容