In this post we will be discussing about inserting data to excel file using OLEDB in C#. We will be using Microsoft Excel 12.0 Object Library for inserting to the Excel file. For this operation we do not have to use Excel Object, we can directly use OLEDB for inserting into excel.
At first we need to create a connection to our Excel File as shown below
System.Data.OleDb.OleDbConnection myConnection = new System.Data.OleDb.OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=""D:\WeightData.xlsx"";Extended Properties=""Excel 12.0;HDR=YES;"";");
If the connection is not correct you might get an error like "Could not find installable ISAM" while opening the connection. To solve this error you need to check that your system has the exact OLEDB version which you are using in the connection string. Other things which people forget is to enclose Extended Properties inside quotes.
After that we will create Oledb Command and execute the query as shoen below
System.Data.OleDb.OleDbCommand myCommand = new System.Data.OleDb.OleDbCommand();
myCommand.Connection = myConnection;
myCommand.CommandText = "Insert into [Sheet1$] ([name],[date],weight,privacy) values('Coding Defined', '27/6/2016', '74', 'yes')";
myCommand.ExecuteNonQuery();
While doing this you might encounter an error like "Syntax error in INSERT INTO statement" while executing the query. This is because if you use one or more fields which is a reserved you need to enclose that field in square brackets. In our case it is name and date, so we need to enclose it inside square brackets.
Full Code to Insert data into Excel File is
System.Data.OleDb.OleDbConnection myConnection = new System.Data.OleDb.OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=""D:\WeightData.xlsx"";Extended Properties=""Excel 12.0;HDR=YES;"";");
try
{
myConnection.Open();
System.Data.OleDb.OleDbCommand myCommand = new System.Data.OleDb.OleDbCommand();
myCommand.Connection = myConnection;
myCommand.CommandText = "Insert into [Sheet1$] (name,date,weight,privacy) values('Coding Defined', '27/6/2016', '74', 'no')";
myCommand.ExecuteNonQuery();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
myConnection.Close();
}
Please Like and Share the CodingDefined.com Blog, if you find it interesting and helpful.
At first we need to create a connection to our Excel File as shown below
System.Data.OleDb.OleDbConnection myConnection = new System.Data.OleDb.OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=""D:\WeightData.xlsx"";Extended Properties=""Excel 12.0;HDR=YES;"";");
If the connection is not correct you might get an error like "Could not find installable ISAM" while opening the connection. To solve this error you need to check that your system has the exact OLEDB version which you are using in the connection string. Other things which people forget is to enclose Extended Properties inside quotes.
After that we will create Oledb Command and execute the query as shoen below
System.Data.OleDb.OleDbCommand myCommand = new System.Data.OleDb.OleDbCommand();
myCommand.Connection = myConnection;
myCommand.CommandText = "Insert into [Sheet1$] ([name],[date],weight,privacy) values('Coding Defined', '27/6/2016', '74', 'yes')";
myCommand.ExecuteNonQuery();
While doing this you might encounter an error like "Syntax error in INSERT INTO statement" while executing the query. This is because if you use one or more fields which is a reserved you need to enclose that field in square brackets. In our case it is name and date, so we need to enclose it inside square brackets.
Full Code to Insert data into Excel File is
System.Data.OleDb.OleDbConnection myConnection = new System.Data.OleDb.OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=""D:\WeightData.xlsx"";Extended Properties=""Excel 12.0;HDR=YES;"";");
try
{
myConnection.Open();
System.Data.OleDb.OleDbCommand myCommand = new System.Data.OleDb.OleDbCommand();
myCommand.Connection = myConnection;
myCommand.CommandText = "Insert into [Sheet1$] (name,date,weight,privacy) values('Coding Defined', '27/6/2016', '74', 'no')";
myCommand.ExecuteNonQuery();
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
myConnection.Close();
}
Please Like and Share the CodingDefined.com Blog, if you find it interesting and helpful.
Related articles
- Install Tools for Apache Cordova in Visual Studio 2015
- CodeLobster PHP Edition - Free PHP IDE
- HTML5 Responsive Frameworks for Web Developers
- Online Javascript Editors for Developers
- What is Apache Cordova and Ionic Framework
- Basic Introduction to AngularJS
- HTML5 Syntax's Simplicity
- Starting with TypeScript
- Getting Started with BootStrap
- IonicLab for Windows
If wanted to insert your data in row 7, how would you do that?
ReplyDeleteRegards
insert your data
ReplyDeleteChoose the appropriate wallpaper on the mood.
ReplyDeletegetting syntax error in insert into statement exception on cmd.ExecuteNonQuery();
ReplyDelete