Two Dimensional Array To Excel Spreadsheet
Jun 22, 2010I have a 2 dimensional array, I want to convert it to an Excel document using C#.
View 2 RepliesI have a 2 dimensional array, I want to convert it to an Excel document using C#.
View 2 RepliesFirst I am sorry if I am creating a thread in the wrong category as I am not sure which is the best suitable place for this question: I want to create a user defined data structure, which will be a 2 dimensional array such that each individual square of this 2-dimensional array will also store the score and the grades. ( Iam using VB.NET) More details: for example: There is an 2 dimensional array with 3 columns and 2 rows, I want to fill each of the (0,0);(0,1);(0,2) with their own score (Integer type) and grades (String Type). And this is same for the rest of the squares i.e. (1,0);(1,1);(1,2) and (2,0);(2,1);(2,2) After creating such custom data structure: "CustomArray", I should be able to create the instance of this custom data structure (which will be a class) and code something like this:
Dim objCustomArray as CustomArray
objCustomArray = New CustomArray
for i as Integer =0 to 3
objCustomArray(0,i).SetScore(1)
objCustomArray(0,i).SetGrade("Good")
Next
-------
for i as Integer =0 to 3
Dim myVal as Integer = objCustomArray(0,i).GetScore()
Dim myGrade as String = objCustomArray(0,i).gettGrade()
Next
-----
Can we use a 2 dimensional array to bind it in our form? In my model I have this:
public class EmailDetails {
public string[] emailTo { get; set; }
public string[,] emailFieldValues { get; set; } }
So in my form to bind the emailTo is simple and this one works:
<input type="text" id="Text1" title=" " name="emailTo" maxlength="100" />
<input type="text" id="Text1" title=" " name="emailTo" maxlength="100" />
I need a 2 dimensional array so that I can match the value with something,
like this:<input type="text" id="Text1" title=" " name="EmailDetails["@name",valueofinput] maxlength="100" />
I have this array: string[,] productData = new string[5,7];
I bind it to a repeater and a call a method like: <img src="<%# getPhoto1WithReplace(Container.ItemIndex) %>"
Which is defined like:
public String getPhoto1WithReplace(Object itemIndex) {
int intItemIndex = Int32.Parse(itemIndex.ToString());
if (productData[intItemIndex, 3] != null) return this.ResolveUrl(productData[intItemIndex, 3].ToString());
else return String.Empty; }
I do not understand why it calls getPhoto1WithReplace with itemIndex as 5. My array has 5 indexes: 0,1,2,3,4, so How Container.ItemIndex can be 5?
I am getting an error when trying to serialize an object products.
Product product = new Product();
product.Name = "Apple";
product.Expiry = new DateTime(2008, 12, 28);
product.Price = 3.99M;
product.Sizes = new string[3,2] { {"Small","40"}, {"Medium","44"}, {"Large","50"} };
string json = JsonConvert.SerializeObject(product);//this line is throwing an error
Array was not a one-dimensional array. Is there any way to serialize a two dimensional array with Newtonsoft.json.
I've created an Excel spreadsheet for my users to upload into my web application to bulk import memberships and roles into the application. There are up to 4 different roles which users can be members of so I'm using AddUsersToRoles to add the user to one or more roles in one line of code like this:
r.AddUsersToRoles(usernames, CreateListOfRoles(Role1, Role2, Role3, Role4))
As this line of code expects a one-dimensional array of roles, I have created a function to take in the roles from my spreadsheet, add them into a one-dimensional array, and return that to the AddUsersToRoles method. The CreateListOfRoles function looks like this:
[Code]....
The error that I'm getting though is "System.InvalidCastException: At least one element in the source array could not be cast down to the destination array type." I've stepped through the Function in debug mode and all the values look correct and there are the correct number of items in the array so I don't understand what's going wrong.
I have this data:
5-16-2010, 5
5-16-2010, 3
5-16-2010, 2
5-16-2010, 4
5-15-2010, 2
5-15-2010, 5
5-15-2010, 1
5-14-2010, 3
5-14-2010, 5
I want to group by the date, these values are now in a dataset. What comes up to my mind is an array list with the following: The master array would have each date listed on the dataset above, within each row of this array I would have the list of numbers for that specific date. How do I do that in VB.NET?
How do you store multi-dimensional array to viewstate? Here's what I did:
public bool[,,] regsettings = new bool[7,5,4];
bool[,,] regsettings = (bool[,,])ViewState["regsettings"]; // this line works!
regsettings[i,j,tab] = (bool)ViewState["regsettings"]; // this line no working?! The error is: Object reference not set to an instance of an object. The letters i,j, tab are just variables in the loop. They are there. I also tried: (bool[,,,]) as a cast and it is a no-go either.?
I know I can use arrayName.length to find out how many items in total in the array there are, but how can I gracefully find out how many items are in a specific dimension? I know I could probably do it in a for each loop, but it would look a little messy, does anyone know of a simple way that I may have overlooked?
View 3 RepliesMy original code was in classic vb. and could use redim array to resize them. I was porting the code to c# now and lately i have run into an issue to resize a 2 dimensional array. The thing here is I have a 2 dimensional array whose 2nd dimension needs to be increased dynamically as needed to accommodate the data. For say
String[,] ary1=new String[2,10];
I'm doing some operation in a loop and filling in the data in ary1. And if the loop still continues, on reaching the ary1 upper bound i need to increase the size further to accommodate 10 more rows. I tried couple of ways to copy it to a bigger array and assign it back to the current array. but somehow dint work.
Possible Duplicate: Create Excel (.XLS and .XLSX) file from C#
I have some code that generates a zip file that contains multiple CSV files and streams it back to the user (no file is saved on the server). However, I want to create an excel workbook instead (can be traditional xls or Office Open XML xlsx format) with each CSV 'file' being a spreadsheet.
How can I do this, without resorting to Office Automation on the server or a commercial 3rd party component?
I'm working on a project which requires me to plot a graph using Visual Studio ASP.Net from a data I've collected either in .txt or .xml format. The data consist of, eg. 15 records, but I'm only needed to plot 8 graphs out of the 15 records.
View 1 RepliesI'm exporting an ASP.NET gridview to Excel using the following function. The formatting is working really well, except I need to freeze the header row in Excel on the export. I'm really trying to avoid using a 3rd party Excel plugin for this, but unless there's some archaic excel markup in my AddExcelStyling function.
[code]....
I'm trying to upload an excel spreadsheet using the FileUpload control, read the excel sheet using OleDb connection, and save the strings onto a sql server database.Then, I'm trying to read each string in another method.My web app is currently hosted on the network on my local box, and using savePath= @"C:desktop" like I had it previously wasn't working, so I figured using a sql server database would work for being able to save the file and open it again... but I'm getting confused on how to do so, so i tried using my old savePath but it's not working anymore. So... I'm really at a lost on what to do and how to fix it.
[Code]....
On an .aspx page in a web site I need to retrieve some data from a sql server database and, instead of displaying it in a Gridview, I need to put the data in a spreadsheet and present the user with a Save As dialog.
I'd prefer to do it without using the Office / Excel / Interop com object - so, from what I've read so far, I can do this by returning XML data from SQL Server?
Normally I get data from SQL Server and populate a dataset or datareader with it - and then use this as the Datasource of a GridView.
If I run this in SQL Server ...
Code:
SELECT UserID, UserName FROM tblUsers FOR XML Auto, Root('Users')
It produces this ...
Code:
<Users>
<tblUsers UserID="1" UserName="Steve" />
<tblUsers UserID="2" UserName="Andrea" />
<tblUsers UserID="3" UserName="Zebedee" />
</Users>
So, first question - how do I get the data from SQL Server into my .aspx page? (All data access is done with stored procedures - so, from my data access class normally I create, for example, a SQLDataReader and populate it by calling a stored procedure. What object would I populate with the results of a stored procedure that contains a select statement with 'FOR XML Auto'
Then, assuming I get the XML into the .aspx page - how do I get it into a spreadsheet so that there are two columns called UserID and UserName and 3 rows with 1, 2 and 3 in the first cell and Steve, Andrea and Zebedee in teh second cell?
My company has new customers in Brazil and we realized that our excel reports are not working when our Brazilian customers tried to open the reports in their Brazilian versions of excel.
For excel output we use spreadsheet gear in our vb.net web application. Our excel worksheets are fairly simple. Mostly outputted text/numbers/dates, a couple of formulas (sum, if) and formatting on the currency and dates.
I've tried several methods to get my excel reports to work: First I left the excel workbook in the "en-US" culture and tried simply chaging the number format for Brazil to:
_-[$R$-416] * #.##0,00_-;-[$R$-416] * #.##0,00_-;_-[$R$-416] * "-"??_-;_-@_-
And this formatted the regular cells but the formulas still failed to show a value. Instead they showed a 0 value.
Next I tried changing the workbook to the "pt-BR" culture and that also forced me to translate the formula names (Sum -> Soma, If -> Se) but they still wouldn't should a value and instead showed a #Name/#Nome error. Interestingly enough the formulas would work if I edited the cell and hit enter. The formula wouldn't change but it would some how fix that cell.
I need to be able to out excel reports that can format dates/currencies and apply simple formulas (IF, Sum) for other excel cultures.
I would like to access an Excel 2010 spreadsheet via ASP.NET 4 - what is the best (i.e. straight forward) method to do this? I would like to update the spreadsheet via ASP then read the results of the data from Excel back to a web form.
View 9 RepliesI have a gridvidew (GV2). I want the user to be able to export the contents of this gridview to an excel spreadsheet for offline processing.
Here is my subroutine:
[code]...
On clicking the ExcelButton I get the error message:
Control 'GV2' of type 'GridView' must be placed inside a form tag with runat=server.
The control GV2 is in fact inside:
<form id="form1" runat="server"></form>
I would like to be able to copy one row and five columns from an Excel spreadsheet to a table like structure on a ASP.NET web form. The idea is keeping the data in the exact row and column from Excel to the table like control on the ASP.NET web-form. Then I want to be able to save to the contents of the ASP.NET control to a database by a buttoon command click. What ASP.NET control would allow me to do this? Gridviews and datagrids don't seem to allow me to do this.
View 1 RepliesMy host does not allow me to save files to the file system, but I would like to be able to send some reports via email as Excel attachments.
How can I generate and the file without actually saving it to disk?
I want to show information from an excel spreadsheet in a web page. The xls will have maybe 5 columns, and as many rows as needed. The columns will be 'Name', 'Created Date', 'Expired Date', 'Owner', and maybe down the road maybe more.
What I would like is for the C# to nightly read the xls, and display the information in a table on the website.
If there is a PDF available for download I am going to link that as well.
I've tried many combonations and looked over may websites for sample code but no matter what I do I only getting a few cells of data from my Excel DataSet.
CODE:
using System;
I am generating, using a ASP routine, Visual Basic, a HTML table in a file to be read by MS Excel.
After Excel reads the file, some of the numbers (in some cells) are shown as "text", not numbers: they cannot be operated upon, like decimal numbers. (added, subtracted...)
If I click in a "number" stored as "text" cell, I can "edit" the cell and remove an invisible "apostrofe" to the left of the number; after that, the "text" becomes "number" again.
Seems like Excel is inserting a non-visible character before the number, so that it is stored as "text"
It happens to some lines and not to others...
I am trying to generate an excel spreadsheet in my vb.net web service but it looks like its not allowing me. I need to generate it from xml string and send this spreadsheet in an email from the same web service.
View 1 RepliesI simply have a lot of data in two columns in an excel spreadsheet of data that I gathered. I want to copy and paste this (manually) into a table that I have created in my ASPNETDB in my ASP.NET web application. I thought it'd be as easy as copy the column, and hit paste in the "table data" view, but it's not (it only pastes one cell).
Is there a way for me to manually copy data from excel and paste it in a table in my SQL Server?