客户有带样式的excel文件,通过一般的
=====================================
string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = "+fileName+";Extended Properties=Excel 8.0" ;
OleDbConnection myConn = new OleDbConnection ( strCon ) ;
string strCom = " SELECT * FROM ["+tbxSheetName.Text.Trim()+"$]" ;
myConn.Open ( ) ;
////打开数据链接,得到一个数据集
OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom , myConn ) ;
////创建一个 DataSet对象
myDataSet = new DataSet ( ) ;
////得到自己的DataSet对象
//myCommand.Fill ( myDataSet , "[Sheet1$]" ) ;
myCommand.Fill(myDataSet,"test");
////关闭此数据链接
myConn.Close ( ) ;
=====================================
无法读出某些cell的值,例如里面的一些浮点性数据,所以宣布放弃此方法,所以想试一下office的excel组件,从网上找了几篇文章,还是没弄懂怎么读出某个cell的值。
=====================================
string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = "+fileName+";Extended Properties=Excel 8.0" ;
OleDbConnection myConn = new OleDbConnection ( strCon ) ;
string strCom = " SELECT * FROM ["+tbxSheetName.Text.Trim()+"$]" ;
myConn.Open ( ) ;
////打开数据链接,得到一个数据集
OleDbDataAdapter myCommand = new OleDbDataAdapter ( strCom , myConn ) ;
////创建一个 DataSet对象
myDataSet = new DataSet ( ) ;
////得到自己的DataSet对象
//myCommand.Fill ( myDataSet , "[Sheet1$]" ) ;
myCommand.Fill(myDataSet,"test");
////关闭此数据链接
myConn.Close ( ) ;
=====================================
无法读出某些cell的值,例如里面的一些浮点性数据,所以宣布放弃此方法,所以想试一下office的excel组件,从网上找了几篇文章,还是没弄懂怎么读出某个cell的值。
解决方案 »
- 怎么在运行的时候改变picturebox的大小和添加文本框?
- winfrom datagridview 下拉框获取不到当前所选的值
- 请教一下,写一个简易输入法的思路或相关资料
- 如何将数据填充到报表?
- VS2008 我的Form怎么没有Dispose()?
- 如何在WEB方式中显示确认窗口
- wpf中如何保存已经与控件绑定的结构体中的数据到文件中。
- 一个非常简单的菜鸟问题
- 急:请问我在调试用C#做的Web服务程序时,为什么不能执行?
- TotalProcessorTime是否与% Processor Time相同?
- C#制作可伸缩个性化窗体----照实例做,没有成功,请高手指点一下!
- Winform->listview显示缩略图,图片与图片之间的上下左右距离怎么自己控制(默认的间隙好大),点击任一张弹出放大的对话框
xls.Workbooks.Open(....);
string s = xls.Workbooks[0].Worksheets[0].Cells[1,1].Text ;
{
string strConn;
StringBuilder strBuilder = new StringBuilder(myFilePath);
strBuilder.Replace("\\","\\\\");
myFilePath = strBuilder.ToString();
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + myFilePath +";"+
"Extended Properties=Excel 8.0;";
connForExcel.ConnectionString = strConn; string[] sheetName = GetSheetItem(myFilePath); // conn = new OleDbConnection(strConn);
OADPForExcel.SelectCommand.Connection = connForExcel;
OADPForExcel.SelectCommand.CommandText = "SELECT * FROM ["+ sheetName[0] +"$]";
//myCommand = new OleDbDataAdapter("SELECT * FROM [查询1$]", strConn);
DataTable dt = new DataTable("IMP");
try
{
OADPForExcel.Fill(dt);
}
catch(Exception e)
{
MessageBox.Show("文件导入失败,请检查文件!","错误信息",MessageBoxButtons.OK,MessageBoxIcon.Information);
return null;
}
return dt;
}
* 描述: Excel文件操作
* 创建: sukyboor
* 创建时间: 2005-8-22
*
* 开 发 历 史
* ------------------------------------------------------------------------------------------
*
* 修改日期 修改人 修 改 内 容
* -------------------------------------------------------------------------------------------
*
*********************************************************************************************/
using System;
using Excel;
namespace WuHan
{
public class ExcelFile
{
public ExcelFile(string fileName)
{
if(!Initial())
return;
excelFileName = fileName;
//加入新的WorkBook
//获取WorkBooks集合
workbooks = excelApp.Workbooks;
if(!System.IO.File.Exists(fileName))
workbook = workbooks.Add(XlWBATemplate.xlWBATWorksheet);
else
//*修改原有文件
workbook = workbooks.Open(excelFileName,Type.Missing, Type.Missing, Type.Missing, Type.Missing,Type.Missing, Type.Missing, Type.Missing, Type.Missing,Type.Missing, Type.Missing, Type.Missing, Type.Missing); //获取WorkSheets集合
sheets = workbook.Worksheets;
worksheet = (Worksheet) sheets.get_Item(1);
if (worksheet == null)
{
throw new Exception("工作簿为空!");
}
}
/// <summary>
/// 清除资源
/// </summary>
public void Dispose()
{
if(isInitialed && excelApp != null)
excelApp.Quit();
}
/// <summary>
/// 初始化
/// </summary>
/// <returns></returns>
public bool Initial()
{
if(!isInitialed)
{
excelApp = new Excel.Application();
if (excelApp == null)
{
throw new Exception("Excel文件无法打开!");
}
excelApp.DisplayAlerts = false;
isInitialed = true;
}
return true;
} private static Excel.Application excelApp;
private Excel.Workbooks workbooks;
private Excel.Workbook workbook;
private Sheets sheets;
public Worksheet worksheet;
private string excelFileName;
private static bool isInitialed = false;
/// <summary>
/// 写一个单元格
/// </summary>
/// <param name="row">行</param>
/// <param name="column">列</param>
/// <param name="val">值</param>
public void WriteText(int row, int column, string val)
{
worksheet.Cells[row, column] = val;
} /// <summary>
/// 读取一个单元格
/// </summary>
/// <param name="row">行</param>
/// <param name="column">列</param>
/// <returns></returns>
public string ReadText(int row, int column)
{
try
{
Excel.Range range = (Excel.Range)worksheet.Cells[row, column];
return (string)range.Text;
}
catch
{
return "";
}
}
/// <summary>
/// 保存
/// </summary>
public void Save()
{
if(!workbook.Saved)
{
workbook.Close(true,excelFileName,true);
}
}
}
}