string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";"
+ "Extended Properties='Excel 8.0;HDR=YES'";
OleDbConnection Conn = new OleDbConnection(connString);
OleDbCommand objCmd = new OleDbCommand();
objCmd.Connection = Conn;
Conn.Open();objCmd.CommandText = @"CREATE TABLE [Sheet1$](FirstName Char(255), LastName char(255))";
objCmd.ExecuteNonQuery();错误是
不能修改表 'Sheet1$' 的设计。它在只读数据库中。
解决方案 »
- 使用ApplicationClass.WorkBooks.Open()打开csv文件时如何设置单元格的文本格式?
- (socket通讯)希望各位大侠多多指点,給于点意见。。。。。
- ICSharpCode.SharpZipLib.Zip解压缩问题求助
- C#初学者 用那种方式连接数据库更合适?
- 如果两个库结构相同,如何汇总数据到其中的集中库?
- 【奉送一个多功能的DataGrid打印类】
- C#调用C++编写的dll指针的应用
- *******************一个关于程序发布的问题*******************
- 自定制控件(只有10分了)
- winform 调用 Nhibernate 测试问题
- 单核CPU死循环问题
- 实现百度文库的代码初始化时报错。
objCmd.CommandText = @"CREATE TABLE [Sheet1](FirstName Char(255), LastName char(255))";
即可另外,你的xls文件的属性去掉只读属性,Excel程序不能打开这个文件,进程中的excel.exe关掉
//往Excel写入数据,excelTable 为数据源
public static bool SaveDataTableToExcel(System.Data.DataTable excelTable, string filePath)
{
//Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.ApplicationClass();
Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application();
try
{
app.Visible = false;
Workbook wBook = app.Workbooks.Add(true);
Worksheet wSheet = wBook.Worksheets[1] as Worksheet;
if (excelTable.Rows.Count > 0)
{
int row = 0;
row = excelTable.Rows.Count;
int col = excelTable.Columns.Count;
for (int i = 0; i < row; i++)
{
for (int j = 0; j < col; j++)
{
string str = excelTable.Rows[i][j].ToString();
wSheet.Cells[i + 2, j + 1] = str;
}
}
} int size = excelTable.Columns.Count;
for (int i = 0; i < size; i++)
{
wSheet.Cells[1, 1 + i] = excelTable.Columns[i].ColumnName;
}
//设置禁止弹出保存和覆盖的询问提示框
app.DisplayAlerts = false;
app.AlertBeforeOverwriting = false;
//保存工作簿
wBook.Save();
//保存excel文件
app.Save(filePath);
app.SaveWorkspace(filePath);
app.Quit();
app = null;
return true;
}
catch (Exception err)
{
MessageBox.Show("导出Excel出错!错误原因:" + err.Message, "提示信息",
MessageBoxButtons.OK, MessageBoxIcon.Information);
return false;
}
finally
{
}
}
但是我要OleDb啊