Databases :: Reading Date Values From Spreadsheets Using OpenXml?
Dec 22, 2010
I am writing C# code to read a sheet from a workbook. A couple of cells in the sheet are of Date type. However, when I check out the xml generated for the sheet, it contains numbers, for e.g. 38018 instead of 1 Feb 2005. As a result my code ends up treating this as number and I am not able to recreate a date object.
I have a scenario where I have to read an excel file to dump records in a mysql database. The code generates an exception Sheet1 not found. I have pasted the code below. Please let me know the solution to the exception. I have given the correct read/write/modify settings to my excel file.
if (fileUpload1.PostedFile.FileName.EndsWith(".xls") || fileUpload1.PostedFile.FileName.EndsWith(".XLS")) { string fileName = Server.MapPath(fileUpload1.PostedFile.FileName); string connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + ";Extended Properties=Excel 8.0"; // Create the connection object OleDbConnection oledbConn = new OleDbConnection(connString); try { // Open connection oledbConn.Open(); // Create OleDbCommand object and select data from worksheet Sheet1 OleDbCommand cmd = new OleDbCommand("SELECT * FROM [Sheet1$]" , oledbConn); // Create new OleDbDataAdapter OleDbDataAdapter oleda = new OleDbDataAdapter(); oleda.SelectCommand = cmd; // Create a DataSet which will hold the data extracted from the worksheet. DataSet ds = new DataSet(); // Fill the DataSet from the data extracted from the worksheet. oleda.Fill(ds, "RestaurantExcelData"); for (int i = 0; i < ds.Tables[0].Rows.Count; i++) { Response.Write("Data: " + ds.Tables[0].Rows[i].ItemArray[0].ToString() + ""); } } catch(Exception e1) { } finally { // Close connection oledbConn.Close(); } } else { Response.Write("File Not Excel (xls||XLS)"); }
I'm trying to read data from a text file into a DataReader object using the following code but I get an exception:
OleDBException was unhandled.
Cannot update. Database or object is read-only.
Also, I would like to know if it is efficient to read data of a text file into a datatable instead of using StreamReader object and traversing through the recordset.
I am attempting to read data from an uploaded spreadsheet using ACE.OLEDB. The code, which is running fine on dev and test machines for XL2003/2007 reports "Exernal table is not in the expected format" error on connecting on the production server for XL2007 only.The code is
Dim connectionString As String = "provider=Microsoft.Ace.OLEDB.12.0;" _ & "Data Source='" & ImportData.FullName & "';Extended Properties=Excel 12.0;" LogWebActivity.LogThis("Entering POPSUKD, ConStr=" & connectionString, LogWebActivity.LogDetailLevel.DetailAndData) Dim con As New System.Data.OleDb.OleDbConnection(connectionString) LogWebActivity.LogThis("Dimmed con", LogWebActivity.LogDetailLevel.Debugging) Try Dim cmdSelect As New System.Data.OleDb.OleDbCommand("SELECT * FROM [" & WorksheetName & "$]", con) Dim adapter As New System.Data.OleDb.OleDbDataAdapter(cmdSelect) Dim dS As New Data.DataSet LogWebActivity.LogThis(cmdSelect.CommandText, LogWebActivity.LogDetailLevel.Debugging) con.Open() LogWebActivity.LogThis("Opened Connection", LogWebActivity.LogDetailLevel.Debugging) adapter.Fill(dS, WorksheetName) LogWebActivity.LogThis("Filled DataAdapter", LogWebActivity.LogDetailLevel.Debugging) _SKUS = dS.Tables(WorksheetName) LogWebActivity.LogThis("Set SKUS", LogWebActivity.LogDetailLevel.Debugging)
I have some code that reads records from an excel file and then imports that data into an sql database. The issue only happens when the excel file has more then 350 rows in it. In the middle of the import it just stops executing and I get directed to the 'Internet Explorer cannot display the webpage' page or just a blank page when using firefox.
I dont get any time out errors or any error at all but still I tried messing around with the script timeout settings but still does the same thing at about the 2 min 30 sec mark.
I need to be able to read an excel file from a file upload control but I can not save the file to disk first, it must be done in memory.
[Code]....
Above is my code for reading the data file if it IS saved to disk, but again, I have to be able to do this without saving the file to disk, it must be done in memory. I have not been able to find any sample code anywhere on how to do this from memory, everything seems to force the file be uploaded, saved to disk, and then read in the connection string, which again I can not do.
I understand how to use a connection string object to read excel sheets. What I don't know is how to follow a hyperlink inside excel, grab matching data from the linked page and return it to my database. Essentially, the spreadsheet has two columns:
Title | Class#
Class# has the hyperlink which links to an internal web site. The connected page has a course description and any pre-required classes that must be taken before you can take this class. This is where I'm rather stumped as I've not had to do this type of thing before.
Want to create a web based application for reading and writing excel files.
Issue :
1. Want to upload an excel file and store it some location. 2. Read data from excel file, performing some sorting and filtering 3. Write filtered data to new excel file.
Now I need to load the CSV in C # and column 3 to distinguish what the operation is carried out.When the load line in column 3 contain the value 1, so will save the table 'Cats' when the value 2 and is saved in the table "Dogs".(Note: Data are separated ";")
in my application i have to read from an excel files and check the value of every cell i'm using an OleDb connection to open it and reading but i have this issue if some of the cells in the excel sheet is having this warning when i try to read it returns DBNull ??could any one give me a clue ....knowing that i can not force the user for not having this warning ...i have to solve this within my code .
My web app is allowing the user to load a column of data from an Excel spreadsheet. For whatever reason, as it parses the data, fields that are just integers are coming up as System.DBNull. (Code in VB.NET but I work with C# as well, so feel free to post C# solutions)
[Code]....
dataRow(0) is System.DBNull when the Excel file has a number in Column A. Here's what the Excel looks like
Column A 100S200 WEIRD ABCDEFG 123456 100S12791 119655902 100S12792 105E17530 123456 and 119655902 come through as DBNull
How to get the date at which a record is created in SQL?..i.e, if i add a record to a database table db1 at 8/10/2010 11:30, I want to get the datetime, i.e 8/10/2010 11:30..;.Also let me know how to compare datetime values..
if(8/10/2010 11:30 >8/10/2010 10:30) will work or not?
How can we split values from one column? I have a column in table like "work Experience". "02/03" Month and Year. I want to split that values and display in saperate labels. after clicking edit button they are displayed on dropdown list. Similarly i want to do for Annual CTC column.The Split for annual CTC will be Total Sal in Lakhs and In Thousand. Just want to write split function for that.How can i write and display?
I came across old web application which has the code to read the parameters from the URL of the site. The code is full of string processing. http://hostname.domain[port number]/application name?arg1=value1...&argN=valueN onsidering that URL parameters are always encoded it is litter difficult to rely on string processing. Also not sure if one can rely 100% on the URLEncode/Decode functions of the JavaScript.
function getURLParameters(){ if (location.search != "") var x = location.search.substr(1).split(";") for (var i=0; i<x.length; i++) var y = x[i].split("=");
I am trying to get the value of a timer using the HtmlAgilityPack however when I get the innerText by the element ID it returns --:--:--Is there any way to get the time value since it uses AJAX?
sorry for the naive question, but it looks it should work and it does not. Say I have this simple scenario: a controller with its view with a single action, Index. The view has a form with a dropdown with some letters and submit button. When the form is submitted (to the same Index action of the same controller) the controller should fetch from a repository all the persons whose last name begins with the selected letter and pass it back to the view. So my controller is like this (I'm using the MVC Contrib data grid):
[Code]....
The view form (a strongly typed view whose model is an IEnumerable of Person EF objects) looks like this:
[Code]....
This works the 1st time I submit the form, but whenever I click the next/previous button of the pager the Index action is invoked but I cannot read the dropdown selection: I tried with Request.Form and with a different signature in the action (by adding it a string LastName parameter), but I always get NULL instead of the selected value, so that the query returns no persons. What I'm doing wrong? How can I read the dropdown value across posts to the same action?
I have some problems with trying to read values on a postback. The fields, textboxes and dynamiclly created fields doesn't keep their values or I'm doing something wrong when trying to read the values. I get an error message:
System.NullReferenceException was unhandled by user code Message="Object reference not set to an instance of an object." Source="App_Web_m-6qot6q" StackTrace: at Sikt.RäknaVärden() in C:Visual Studio 2005WebSitesKalibreringscertificatSikt.aspx.vb:line 688 at Sikt.Button1_Click(Object sender, EventArgs e) in C:Visual Studio 2005WebSitesKalibreringscertificatSikt.aspx.vb:line 892 at System.Web.UI.WebControls.Button.OnClick(EventArgs e) at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Also, I get some other errors, such as "Name 'DropDownList1' is not declared" and "Name 'Label1' is not declared" I'm used to classic ASP and this is my first .net 2.0 (vb) application. I'm including some of the code (should be all relevant code)
I want to display panels based on the check boxes selected on the dynamic checkbox list control. I have been able to dynamically build the check box but have no idea on how to access its checked propety. This is what I am doing but getting error on Request.Form On page load wrote this code.
protected void Page_Load(object sender, EventArgs e) { int i; int chkboxCount = Request.Form("chklist1").Count; for ( i = 1; i < chkboxCount) { String valueChkbox = Request.Form["chklist1"]; } }