|
If I understand you correctly, you probably just need System.Security.Cryptography.RSACryptoServiceProvider .
|
|
|
|
|
thanks for your help it was so usefull
ajgm
|
|
|
|
|
I Use following code for Excel to List view entry
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Runtime.InteropServices;
public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
ExcelObj = new Excel.Application();
if (ExcelObj == null)
{
MessageBox.Show("ERROR: EXCEL couldn't be started!");
System.Windows.Forms.Application.Exit();
}
object val = new object();
ExcelObj.Visible = true;
}
string[] ConvertToStringArray(System.Array values)
{
string[] theArray = new string[values.Length];
for (int i = 1; i <= values.Length; i++)
{
if (values.GetValue(1, i) == null)
theArray[i-1] = "";
else
theArray[i-1] = (string)values.GetValue(1, i).ToString();
}
return theArray;
}
///
/// Clean up any resources being used.
///
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
///
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.listView1 = new System.Windows.Forms.ListView();
this.columnHeader1 = new System.Windows.Forms.ColumnHeader();
this.columnHeader2 = new System.Windows.Forms.ColumnHeader();
this.columnHeader3 = new System.Windows.Forms.ColumnHeader();
this.columnHeader4 = new System.Windows.Forms.ColumnHeader();
this.columnHeader5 = new System.Windows.Forms.ColumnHeader();
this.columnHeader6 = new System.Windows.Forms.ColumnHeader();
this.columnHeader7 = new System.Windows.Forms.ColumnHeader();
this.columnHeader8 = new System.Windows.Forms.ColumnHeader();
this.columnHeader9 = new System.Windows.Forms.ColumnHeader();
this.columnHeader10 = new System.Windows.Forms.ColumnHeader();
this.mainMenu1 = new System.Windows.Forms.MainMenu(this.components);
this.menuItem1 = new System.Windows.Forms.MenuItem();
this.menuItem2 = new System.Windows.Forms.MenuItem();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.SuspendLayout();
//
// listView1
//
this.listView1.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.columnHeader1,
this.columnHeader2,
this.columnHeader3,
this.columnHeader4,
this.columnHeader5,
this.columnHeader6,
this.columnHeader7,
this.columnHeader8,
this.columnHeader9,
this.columnHeader10});
this.listView1.FullRowSelect = true;
this.listView1.GridLines = true;
this.listView1.Location = new System.Drawing.Point(26, 43);
this.listView1.Name = "listView1";
this.listView1.Size = new System.Drawing.Size(536, 240);
this.listView1.TabIndex = 0;
this.listView1.UseCompatibleStateImageBehavior = false;
this.listView1.View = System.Windows.Forms.View.Details;
//
// columnHeader1
//
this.columnHeader1.Text = "LastName";
this.columnHeader1.Width = 98;
//
// columnHeader2
//
this.columnHeader2.Text = "FirstName";
this.columnHeader2.Width = 93;
//
// columnHeader3
//
this.columnHeader3.Text = "Company";
this.columnHeader3.Width = 83;
//
// columnHeader4
//
this.columnHeader4.Text = "Address";
this.columnHeader4.Width = 73;
//
// columnHeader5
//
this.columnHeader5.Text = "City";
this.columnHeader5.Width = 71;
//
// columnHeader6
//
this.columnHeader6.Text = "State";
this.columnHeader6.Width = 67;
//
// columnHeader7
//
this.columnHeader7.Text = "Zip";
//
// columnHeader8
//
this.columnHeader8.Text = "Country";
//
// columnHeader9
//
this.columnHeader9.Text = "E-mail";
//
// columnHeader10
//
this.columnHeader10.Text = "Phone";
//
// mainMenu1
//
this.mainMenu1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
this.menuItem1});
//
// menuItem1
//
this.menuItem1.Index = 0;
this.menuItem1.MenuItems.AddRange(new System.Windows.Forms.MenuItem[] {
this.menuItem2});
this.menuItem1.Text = "File";
//
// menuItem2
//
this.menuItem2.Index = 0;
this.menuItem2.Text = "Open...";
this.menuItem2.Click += new System.EventHandler(this.menuItem2_Click);
//
// openFileDialog1
//
this.openFileDialog1.DefaultExt = "*.xls";
this.openFileDialog1.Filter = "Excel File (*.xls) | All Files (*.*) ||";
this.openFileDialog1.Title = "Choose an Excel File";
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(584, 341);
this.Controls.Add(this.listView1);
this.Menu = this.mainMenu1;
this.Name = "Form1";
this.Text = "Reading an Excel Spreadsheet";
this.Load += new System.EventHandler(this.Form1_Load);
this.ResumeLayout(false);
}
#endregion
///
/// The main entry point for the application.
///
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
private void Form1_Load(object sender, System.EventArgs e)
{
}
private void menuItem2_Click(object sender, System.EventArgs e)
{
this.openFileDialog1.FileName = "*.xls";
if (this.openFileDialog1.ShowDialog() == DialogResult.OK)
{
Excel.Workbook theWorkbook =
ExcelObj.Workbooks.Open(
openFileDialog1.FileName, 0, true, 5,
"", "", true, Excel.XlPlatform.xlWindows, "\t", false, false,
0, true);
// get the collection of sheets in the workbook
Excel.Sheets sheets = theWorkbook.Worksheets;
// get the first and only worksheet from the collection
// of worksheets
Excel.Worksheet worksheet = (Excel.Worksheet)sheets.get_Item(1);
for (int i = 1; i <= 10; i++)
{
Excel.Range range = worksheet.get_Range("A"+i.ToString(), "J" + i.ToString());
System.Array myvalues = (System.Array)range.Cells.Value;
string[] strArray = ConvertToStringArray(myvalues);
listView1.Items.Add(new ListViewItem(strArray));
}
}
}
}
}
ERROR:
Error 1 No overload for method 'Open' takes '13' arguments
Error 2 Property, indexer, or event 'Value' is not supported by the language; try directly calling accessor methods 'Excel.Range.get_Value(object)' or 'Excel.Range.set_Value(object, object)
Can Any One Give Me Solution Please
|
|
|
|
|
Aren't the errors self-explanatory? Firstly, when calling ExcelObj.Workbooks.Open() method you need to either add some parameters or remove some of them. Secondly, instead of (System.Array)range.Cells.Value you should use get_Value method as you are using get_Range method in previous statement.
Hope it helps.
Giorgi Dalakishvili
#region signature
my articles
#endregion
|
|
|
|
|
g_amol wrote: excel open error "no overload for method Open takes 13 arguements"
Exactly what it says. Read the docs and see what is expected.
|
|
|
|
|
Hello everyone,
After quite some time study on samples and C# Spec. I am confused about what is a method group? In my understanding method group is a set of methods which have the same signature, and not necessary to belong to a specific class. But I am not sure whether I am correct. Any comments or ideas?
Below is what I found in my study.
From ECMA-334: 14.1,
http://en.csharp-online.net/ECMA-334:_14.1_Expression_classifications[^]
A method group, which is a set of overloaded methods resulting from a member lookup (§14.3). A method group can have an associated instance expression. When an instance method is invoked, the result of evaluating the instance expression becomes the instance represented by this (§14.5.7). A method group can be used in an invocation-expression (§14.5.5), used in a delegate-creation-expression (§14.5.10.3), or implicitly converted to a compatible delegate type. In any other context, an expression classified as a method group causes a compile-time error.
From C# in Depth,
http://csharpindepth.com/ViewNote.aspx?NoteID=92[^]
"the feature allows you to specify an extension method as a method group using extension syntax"
thanks in advance,
George
|
|
|
|
|
Just see http://blog.opennetcf.com/ncowburn/2007/03/23/ImplicitMethodGroupConversionInC.aspx
http://gsi.berkeley.edu/textonly/resources/discussion/heather.html
|
|
|
|
|
So a person that cant fathom a compiler error can answer a question about method groups...
|
|
|
|
|
Hi g_amol,
I think the 2nd link is not related to my question.
I have read the 1st link before asking this question. But after reading it, I am still confused what a method group is.
Could you explain in your words what do you think a method group is?
regards,
George
|
|
|
|
|
George isnt it clear that all this person did was google some of the words you've used in your OP? Although ill-informed, he is demonstrating that if you put a little research in then you can often find this sort of information online!
But then you've been asked this before, and it falls on deaf ears.
|
|
|
|
|
Yes,J4amieC.
There is another confusion point, from
http://csharpindepth.com/ViewNote.aspx?NoteID=92
"the feature allows you to specify an extension method as a method group using extension syntax"
my confusion is what is an extension method? I also did some search but almost find nothing to give a precise definition. How do you think of it?
regards,
George
|
|
|
|
|
IIRC, it is to do with delegates and method compatibility.
|
|
|
|
|
Thanks leppie!
In my understanding, method group is a set of methods which have the same signature, and not necessary to belong to a specific class. But I am not sure whether I am correct. Any comments or ideas?
regards,
George
|
|
|
|
|
George_George wrote: But I am not sure whether I am correct.
I think that is correct. When I read the spec a few years back 'method group' seemed like a very abstract term.
Example: say you have a delegate defined as follows:
delegate int Foo(string bar);
Any method that can be used with that delegate belongs in the same method group. Eg. Convert.ToInt32 and int.Parse or even:
int Bar(string foo)
{
return 0;
}
I am not 100% sure about my interpretation
|
|
|
|
|
Thanks leppie!
I like your description.
There is another confusion point, from
http://csharpindepth.com/ViewNote.aspx?NoteID=92[^]
"the feature allows you to specify an extension method as a method group using extension syntax"
my confusion is what is an extension method? I also did some search but almost find nothing to give a precise definition. How do you think of it?
regards,
George
|
|
|
|
|
I know C# 3.0 has extension methods, but that is definitely not part of the CLR EMCA spec.
What he/she is refering to is what you were asking about the other day with Delegate.Create with the open and closed stuff. (MSDN really has good docs on this!).
|
|
|
|
|
Thanks leppie,
Acutally my question is not how to use Delegate.CreateDelegate, but what means extension method.
Any ideas?
regards,
George
|
|
|
|
|
|
|
Extension methods allow you to extend an existing class or struct by adding methods.
Consider this pointless example:
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int i = 0;
i = i.ToMax();
Console.Write(i);
Console.Read();
}
}
public static class Extensions
{
public static int ToMax(this int i)
{
i = int.MaxValue;
return i;
}
}
} Now any time you use an integer instance it automatically has the ToMax() method available.
DaveBTW, in software, hope and pray is not a viable strategy. (Luc Pattyn)Expect everything to be hard and then enjoy the things that come easy. (code-frog)
|
|
|
|
|
Thanks Dave,
Really good stuff. One more question about method group,
http://csharpindepth.com/ViewNote.aspx?NoteID=92
what means "an extension method as a method group using extension syntax" in the above link?
regards,
George
|
|
|
|
|
No, that's not how method group is used in the spec (at least how I remember it).
An expression like "Console.WriteLine" returns a method group. It is a group of methods with different signatures, and when invoking the method group or constructing a delegate from it, the compiler chooses the method (the overload) with the matching signature (actually "best matching" signature, as defined in the spec).
|
|
|
|
|
AH ok, so it's like overload resolution?
|
|
|
|
|
Yes, overload resolution looks up a method from a method group.
The spec wrote:
An expression is classified as one of the following:
...
• A method group, which is a set of overloaded methods resulting from a member lookup (§7.3). A method group may have an associated instance expression and an associated type argument list. When an instance method is invoked, the result of evaluating the instance expression becomes the instance represented by this (§7.5.7). A method group is only permitted in an invocation-expression (§7.5.5) or a delegate-creation-expression (§7.5.10.3). In any other context, an expression classified as a method group causes a compile-time error.
...
|
|
|
|
|
Agree, Daniel!
One more question about method group,
http://csharpindepth.com/ViewNote.aspx?NoteID=92
what means "an extension method as a method group using extension syntax" in the above link?
regards,
George
|
|
|
|