初做,C#操作Excel,请给具体例子或资料,谢谢,在线等,例子合适马上结贴
初做,C#操作Excel,请给具体例子或资料,谢谢,在线等,例子合适马上结贴
[解决办法]
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0; " + "Data Source= " + excel表 + "; " + "Extended Properties=Excel 8.0; ";
OleDbConnection conn = new OleDbConnection(strConn);
conn.Open()
strExcel = "select * from [Sheet1$] ";
// MessageBox.Show(strExcel);
myCommand = new OleDbDataAdapter(strExcel, strConn);
ds = new DataSet();
myCommand.Fill(ds, "[Sheet1$] ");
conn.Close();
conn.Dispose();
[解决办法]
给你一个类,揭贴吧!
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Office.Interop.Excel;
using System.Windows.Forms;
namespace DataAccess
{
public class ExcelAccess
{
private Microsoft.Office.Interop.Excel.Application MyExcel;
private object missing = System.Reflection.Missing.Value;
public int MaxColIndex
{
get
{
return MyExcel.Cells.Rows.Worksheet.UsedRange.Cells.Columns.Count;
}
}
public int MaxRowIndex
{
get
{
return MyExcel.Cells.Columns.Worksheet.UsedRange.Rows.Count;
}
}
public int ExcelOpen(string fileName)
{
try
{
MyExcel = new ApplicationClass();
if (MyExcel == null)
{
MessageBox.Show("Excel 程序无法启动!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return -2;
}
MyExcel.Workbooks.Open(fileName, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message + "\n" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return -1;
}
return 1;
}
public int ExcelOpen(string fileName,Boolean AutoCreateFile)
{
try
{
MyExcel = new ApplicationClass();
if (MyExcel == null)
{
MessageBox.Show("Excel 程序无法启动!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return -2;
}
if(FileAccessExt.FileExist(fileName))
MyExcel.Workbooks.Open(fileName, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);
else
{
//create file
Worksheet mysheet=null;
MyExcel.Workbooks.Add(missing);
mysheet = (Worksheet)MyExcel.ActiveWorkbook.ActiveSheet;
//mysheet =(Worksheet)MyExcel.ActiveWorkbook.Worksheets.Add(missing, missing, 1, missing);
mysheet.SaveAs(fileName,missing,missing,missing,missing,missing,missing,missing,missing,missing);
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message + "\n" + ex.ToString(), "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
return -1;
}
return 1;
}
public object ExcelRead(int rowindex, int colindex)
{
object cellvalue;
cellvalue = ((Range)MyExcel.Cells[rowindex, colindex]).Value2;
return cellvalue;
}
public int ExcelWrite(int rowindex, int colindex,object cellvalue)
{
MyExcel.Cells[rowindex, colindex] = cellvalue;
return 1;
}
public int ExcelSave()
{
MyExcel.ActiveWorkbook.Save();
return 1;
}
public int ExcelClose()
{
MyExcel.Quit();
System.Runtime.InteropServices.Marshal.ReleaseComObject(MyExcel);
GC.Collect();
return 1;
}
}
}
[解决办法]
楼上的可行吗?
楼主记得通知下
不过不要用GC.Collect(); 释放资源
这个是我摘抄的希望对你有用
http://simenpeng.blog.163.com/blog/static/22876557200721692022835/edit/
[解决办法]
最简单的
Response.Charset = "GB2312";
Response.ContentEncoding = System.Text.Encoding.UTF7;
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());
Response.ContentType = FileType;
this.EnableViewState = false
;
StringWriter tw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(tw);
DG_Accounts.RenderControl(hw);
Response.Write(tw.ToString());
Response.End();