我的Excel工作簿存储在某个位置,基本上我点击按钮时使用Export to grid从gridview中获取。
一切正常,
我的问题是,“我想首先查找该文件,如果它已经存在,那么使用我的gridview获得的数据更新它,如果有任何新数据存在的话。”
我的函数只创建了大量新数据,这些数据会覆盖前一个数据。
由于
答案 0 :(得分:0)
您可以按如下方式检查文件
string filePath = Request.PhysicalApplicationPath + "filename.xls";
FileInfo imageFile = new FileInfo(filePath);
bool fileExists = imageFile.Exists;
Label1.Text = "File exits?: " + fileExists.ToString();
以下是用于阅读和更新Excel文件的代码
var myConnection = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0;Data Source='c:\\Language_Batch1_OneClick.xls';Extended Properties=Excel 8.0;"); ;
var myCommand = new OleDbCommand();
var upCommand = new OleDbCommand();
int i = 0;
try
{
string sql = null;
myConnection.Open();
myCommand.Connection = myConnection;
sql = "select ANSWER_CODE,Punjabi from [Batch_Lang_1$]";
myCommand.CommandText = sql;
var dataReader = myCommand.ExecuteReader();
while (dataReader.Read())
{
var langText = Convert.ToBase64String(Encoding.UTF8.GetBytes(dataReader["Punjabi"].ToString()));
if (langText.Length >= 1000)
{
continue;
}
var ansCode = dataReader["ANSWER_CODE"].ToString();
sql = "update [Batch_Lang_1$] set Punjabi= '" + langText + "' where ANSWER_CODE='" + ansCode + "'";
upCommand.Connection = myConnection;
upCommand.CommandText = sql;
upCommand.ExecuteNonQuery();
i++;
}
这是一个链接,其中包含用于读取和更新Excel文件的代码 C# Convert MS Excel column to utf-8 and then to base64