vs2010table控件-vs可编辑表格控件
在vs平台下不用mfc怎么实现excel或者数据库的操作
可以用多种方法,比如说用ODBC对excel数据库进行操作,或者说用excel 的COM接口进行编程。我找到一个例子关键代码如下:
//创建并写入Excel文件
void CRWExcel::WriteToExcel()
{
CDatabase database;
CString sDriver = "MICROSOFT EXCEL DRIVER (*.XLS)"; // Excel安装驱动
CString sExcelFile = "c:\\demo.xls"; // 要建立的Excel文件
CString sSql;
TRY
{
// 创建进行存取的字符串
sSql.Format("DRIVER={%s};DSN='''';FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\"%s\";DBQ=%s",
sDriver, sExcelFile, sExcelFile);
// 创建数据库 (既Excel表格文件)
if( database.OpenEx(sSql,CDatabase::noOdbcDialog) )
{
// 创建表结构(姓名、年龄)
sSql = "CREATE TABLE demo (Name TEXT,Age NUMBER)";
database.ExecuteSQL(sSql);
// 插入数值
sSql = "INSERT INTO demo (Name,Age) VALUES (''徐景周'',26)";
database.ExecuteSQL(sSql);
sSql = "INSERT INTO demo (Name,Age) VALUES (''徐志慧'',22)";
database.ExecuteSQL(sSql);
sSql = "INSERT INTO demo (Name,Age) VALUES (''郭徽'',27)";
database.ExecuteSQL(sSql);
}
// 关闭数据库
database.Close();
}
CATCH_ALL(e)
{
TRACE1("Excel驱动没有安装: %s",sDriver);
}
END_CATCH_ALL;
}
// 读取Excel文件
void CRWExcel::ReadFromExcel()
{
CDatabase database;
CString sSql;
CString sItem1, sItem2;
CString sDriver;
CString sDsn;
CString sFile = "Demo.xls"; // 将被读取的Excel文件名
// 检索是否安装有Excel驱动 "Microsoft Excel Driver (*.xls)"
sDriver = GetExcelDriver();
if (sDriver.IsEmpty())
{
// 没有发现Excel驱动
AfxMessageBox("没有安装Excel驱动!");
return;
}
// 创建进行存取的字符串
sDsn.Format("ODBC;DRIVER={%s};DSN='''';DBQ=%s", sDriver, sFile);
TRY
{
// 打开数据库(既Excel文件)
database.Open(NULL, false, false, sDsn);
CRecordset recset(&database);
// 设置读取的查询语句.
sSql = "SELECT Name, Age "
"FROM demo "
"ORDER BY Name ";
// 执行查询语句
recset.Open(CRecordset::forwardOnly, sSql, CRecordset::readOnly);
// 获取查询结果
while (!recset.IsEOF())
{
//读取Excel内部数值
recset.GetFieldValue("Name ", sItem1);
recset.GetFieldValue("Age", sItem2);
// 移到下一行
recset.MoveNext();
}
// 关闭数据库
database.Close();
}
CATCH(CDBException, e)
{
// 数据库操作产生异常时...
AfxMessageBox("数据库错误: " + e->m_strError);
}
END_CATCH;
如何使用VS2008开发操作EXCEL的应用程序
一、最常用的 OLE 自动化方式
这个方式应该说是功能最全的方式,可能也是应用的最多的方式。由于这种方式用的是隐藏启动 Office Excel 的方式,所以几乎是全能,任何功能都可以完成。不过缺点也是比较明显的:
1、用 OLE 方式,需要用户计算机上安装有 Office Excel,否则就失败;
2、由于是隐藏启动 Office Excel,而 Mcirosoft 的一贯作风就是功能强大、体积巨大无比,所以这个速度是个很大的瓶颈。
3、它的基本方法是使用导出 .h 进行 OLE 操作,这种方式在文件数目不多,对功能要求大过速度的话,这是首选。
二、ADO/ODBC 的方式
这种方式需要确保 ODBC 中已安装有 Excel 表格文件的驱动 "MICROSOFT EXCEL DRIVER (*.XLS)",所以同样依赖于 Office Excel 是否安装。
三、Sourceforge 上的开源 Excel 库
搜索了一下,有几个似乎人气比较高,像 libXLS,XLSlib 等,下载下来看了一下说明,好像更多是作为 php 的插件来使用的,对 C++ 似乎没多大帮助。
四、第三方收费 Excel 操作库
第三方收费的,找到一个 LibXL (注意不是 LibXLS),他的官方网站是 ://.libxl/
五、一些不需要依赖 Office Excel 的方式
六、重点推荐的
BasicExcel !
作者和 CSpreadSheet 的作者是同一个,不过是因为考虑到以前 CSpreadSheet 的一些局限性和想实现兼容性,重新写的。地址是:://.codeproject/KB/office/BasicExcel.aspx
急!VS2005 C#环境下,用Datagridview控件绑定SQL数据库中的一个表,如何点击行弹出新窗体?
绑定可以直接向导式完成
点击弹出窗体,在Datagridview的CellContentClick里面添加就可以了
比如:
XXForm x = new XXForm();
x.Show();
你点击编译、运行后会在目录的debug或release目录下生成exe文件
第二次回复:
首先设置datagridview的RowSelectMode属性为FullRowSelect,选中全行
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex >= 0)
{
string ss = dataGridView1.Rows[e.RowIndex].Cells[index].Value.ToString();//获取表格单元格index的内容
//根据行的不同弹出不同的窗口
XXForm x = new XXForm();
x.Show();
}
}
用asp.net控件编写页面
vs2010工具自带有许多控件可以直接拖拽(给你个简单思路)。
新建一个aspx页面,切换到设计界面
你会看到vs的顶部工具栏上多了一个 表(A) 单击 ?然后 插入表(T)(根据需求表可以设置多行多列)
然后直接在vs左侧工具栏拖拽控件到表格的对应单元格(一般label和TextBox最为常见使用,里面的控件有很多,自己可以拖着玩玩)
提示一下:表格也可以像excel一样合并单元格哦
希望对你有所帮助
在VS中使用C#实现类似于个人简历的表格填写完提交后再打印或者保存为PDF
利用Adobe PDF Reader 控件,在Winform中实现打印PDF文档。 实现方法如下:
(1)前提条件
必须事先在计算机安装Adobe Reader软件。Adobe Reader是免费软件,可以从Adobe下载安装
(2)在Visual Studio中新建一个“Windows 窗体应用程序”项目
(3)在工具箱上点鼠标右键-->选择项 -->COM组件-->Adobe PDF Reader
(4)在窗体Form1上布置一个Adobe PDF Reader控件和两个Button控件
(5)Form1窗体代码Form1.cs
12345678910111213141516171819202122232425262728293031323334353637using?System;using?System.Windows.Forms;using?System.IO;?namespace?WindowsFormsApplication1{public?partial?class?Form1?:?Form{public?Form1(){InitializeComponent();?button1.Text?=?"打开PDF文档...";//?没有载入PDF文档时,禁用打印功能button2.Text?=?"打印...";button2.Enabled?=?false;}?private?void?button1_Click(object?sender,?EventArgs?e){OpenFileDialog?openDlg?=?new?OpenFileDialog();openDlg.Filter?=?"PDF文档|*.pdf";if?(openDlg.ShowDialog()?==?DialogResult.OK){axAcroPDF1.LoadFile(openDlg.FileName);//?有载入PDF文档时,允许打印功能button2.Enabled?=?true;}}?private?void?button2_Click(object?sender,?EventArgs?e){//?显示打印PDF文档对话框axAcroPDF1.printWithDialog();}}}(6)运行效果
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。