利用OleDb.NET读取Excel中的资料没有问题,但是在进行Insert和Delete时出现异常,
無法從特定的資料表中刪除。
運作必須使用更新查詢。
以下是关键部分代码: public int DeleteRows()
{
int flag = 0;
OleDbConnection conn = new OleDbConnection(connectionString);
OleDbCommand cmd = new OleDbCommand("delete from [Sheet3$]", conn);
try
{
cmd.Connection.Open();
cmd.ExecuteNonQuery();
}
catch(Exception ex)
{
flag = 1;
throw new Exception(ex.Message);
}
finally
{
cmd.Connection.Close();
}
return flag;
}
public int InsertRow()
{
int flag = 0;
OleDbConnection conn = new OleDbConnection(connectionString);
OleDbCommand cmd = new OleDbCommand("insert into [Sheet3$](A,B,C) values(7,8,9)", conn);
try
{
cmd.Connection.Open();
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
flag = 1;
throw new Exception(ex.Message);
}
finally
{
cmd.Connection.Close();
}
return flag;
}删除和新增的代码已给出,不知各位高手有何办法解决,谢谢!
無法從特定的資料表中刪除。
運作必須使用更新查詢。
以下是关键部分代码: public int DeleteRows()
{
int flag = 0;
OleDbConnection conn = new OleDbConnection(connectionString);
OleDbCommand cmd = new OleDbCommand("delete from [Sheet3$]", conn);
try
{
cmd.Connection.Open();
cmd.ExecuteNonQuery();
}
catch(Exception ex)
{
flag = 1;
throw new Exception(ex.Message);
}
finally
{
cmd.Connection.Close();
}
return flag;
}
public int InsertRow()
{
int flag = 0;
OleDbConnection conn = new OleDbConnection(connectionString);
OleDbCommand cmd = new OleDbCommand("insert into [Sheet3$](A,B,C) values(7,8,9)", conn);
try
{
cmd.Connection.Open();
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
flag = 1;
throw new Exception(ex.Message);
}
finally
{
cmd.Connection.Close();
}
return flag;
}删除和新增的代码已给出,不知各位高手有何办法解决,谢谢!
using Microsoft.Office.Interop.Excel; Excel.Application myExcel;
myExcel = new Excel.Application(); /// <summary>
/// 删除一个区域
/// </summary>
/// <param name="startRow"></param>
/// <param name="startColumn"></param>
/// <param name="endRow"></param>
/// <param name="endColumn"></param>
public void Delete(int startRow, int startColumn, int endRow, int endColumn,
bool IsDeleteEntireRow)
{
Excel.Range range = myExcel.get_Range(myExcel.Cells[startRow, startColumn],
myExcel.Cells[endRow, endColumn]);
range.Select();
if (IsDeleteEntireRow)//是否整行删除
range.EntireRow.Delete(XlDeleteShiftDirection.xlShiftUp);
else
range.Delete(XlDeleteShiftDirection.xlShiftUp);
}