c语言读写EXCEL数据,电子表格c语言读入EXCEL数据
1. c语言读入excel数据
我们都会用excel处理数据,而在程序开发中有时候就需要访问excel文件获得数据进行分 。此篇将会给大家分享如何用C#访问excel文件并读取数据进行展示。
1、 新建一个excel文件,在里面写入两行数据,如下所示:
2、 打开visual studio新建一个web窗体应用程序,如下所示:
3、在default.aspx中,添加一个按钮控件,添加一个gridview控件,按钮用于点击的时候 连接excel获取数据,gridview用于展示数据。
4、 双击连接按钮,添加按钮的点击事件,代码如下所示,这里主要注意的是连接字符串的 写法:Provider=Microsoft.Ace.OLEDB.12.0;Data Source=F:\test.xlsx;Extended Properties='Excel 12.0;HDR=false;IMEX=2;';Persist Security Info=False 这是 excel2007以及以后版本的写法,2007以前的写法如下所示: Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" "; Extended Properties='Excel 8.0; HDR=Yes; IMEX=1'"
5、以上程序写好以后,点击连接,就会提示excel连接成功,并且数据填充进gridview里 了。
2. c数据写入excel
1、首先将需要复制的内容通过CAD软件打开,按住“CTRL+C”将内容复制。
2、复制了之后,将窗口切换到WORD中,右键单击鼠标,点击选择性粘贴,并在里面选择windwos图元文件。
3、这样就将CAD文件里面的内容复制到word文档中。
4、然后点击此正图文,这样就使图文的编辑状态,选择设置图片格式里面的版式,并点击“浮于文上方”。
5、接着再次选中这个图,右击“组合”,“取消组合”。
6、这样就可以将CAD里面的文字复制到excel里了,并进行后期的编辑了。
3. c从excel中读取数据
1、注意Office版本,一般office2016环境下写的东西,office2013环境下是运行不了的。(据说可以有第三方库支持,以后慢慢研究)
2、注意中断程序号一定要注销计算机,否则docx文件老是提示被占用。
3、注意try catch finally一定得加上。
4、多余符号用正则表达排除
/// <summary>
/// 获取word文件的文本内容
/// </summary>
/// <param name="docFileName"></param>
/// <returns></returns>
private string DocToExcel2(string docFileName)
{
//实例化COM
Word.ApplicationClass app = null;
Word.Document wd = null;
object nullobj = System.Reflection.Missing.Value;
object fileobj = docFileName;
string context = string.Empty;
try
{
app = new Word.ApplicationClass();
wd = app.Documents.Open(ref fileobj, ref nullobj, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj,
ref nullobj, ref nullobj, ref nullobj, ref nullobj, ref nullobj,
ref nullobj, ref nullobj);
//取得doc文件中的文本内容
foreach (Word.Table table in wd.Tables)
{
//遍历每一行去处理
for (int k = 0; k < table.Rows.Count; k++)
{
string firstContent = table.Cell(k, 1).Range.Text;
//图上编号
Regex regTSBH1 = new Regex(@"^图上编号.+");
//Match mcMPH1 = regMPH1.Match();
if (regTSBH1.IsMatch(firstContent))
{
Regex regTSBH2 = new Regex(@"^([^\t\v\s]+).+");
Match mcTSBH2 = regTSBH2.Match(table.Cell(k, 2).Range.Text.Trim());
context += /*mcMPH1.Groups[1].Value.Trim() + "," + */mcTSBH2.Groups[1].Value.Trim() + ",";
}
//门牌号
Regex regMPH1 = new Regex(@"^门牌号.+");
//Match mcMPH1 = regMPH1.Match();
if (regMPH1.IsMatch(firstContent))
{
Regex regMPH2 = new Regex(@"^([^\t\v\s]+).+");
Match mcMPH2 = regMPH2.Match(table.Cell(k, 2).Range.Text.Trim());
context += /*mcMPH1.Groups[1].Value.Trim() + "," + */mcMPH2.Groups[1].Value.Trim() + ",";
}
//户主
Regex regHZ1 = new Regex(@"^户主.+");
//Match mcHZ1 = regHZ1.Match(table.Cell(5, 1).Range.Text.Trim());
if (regHZ1.IsMatch(firstContent))
{
Regex regHZ2 = new Regex(@"^^([^\t\v\s]+).+");
Match mcHZ2 = regHZ2.Match(table.Cell(k, 2).Range.Text.Trim());
context += /*mcHZ1.Groups[1].Value.Trim() + "," + */mcHZ2.Groups[1].Value.Trim() + ",";
}
//电话
Regex regDH1 = new Regex(@"^电话.+");
//Match mcDH1 = regDH1.Match(table.Cell(6, 1).Range.Text.Trim());
if (regDH1.IsMatch(firstContent))
{
Regex regDH2 = new Regex(@"^([^\t\v\s]+).+");
Match mcDH2 = regDH2.Match(table.Cell(k, 2).Range.Text.Trim());
context += /*mcDH1.Groups[1].Value.Trim() + "," + */mcDH2.Groups[1].Value.Trim() + ",";
}
//楼层数
Regex regLCS1 = new Regex(@"^楼层数.+");
//Match mcLCS1 = regLCS1.Match(table.Cell(7, 1).Range.Text.Trim());
if (regLCS1.IsMatch(firstContent))
{
Regex regLCS2 = new Regex(@"^([^\t\v\s]+).+");
Match mcLCS2 = regLCS2.Match(table.Cell(k, 2).Range.Text.Trim());
context += /*mcLCS1.Groups[1].Value.Trim() + "," + */mcLCS2.Groups[1].Value.Trim() + ",";
context += /*mcLCS1.Groups[1].Value.Trim() + "," + */docFileName + "\r\n";
}
//文件名,用于排错
//Regex regLCS1 = new Regex(@"^([\u4e00-\u9fa5]+).+");
//Match mcLCS1 = regLCS1.Match(table.Cell(7, 1).Range.Text.Trim());
//if((k % 7 == 0)&&(k != 0))
//{
// context += /*mcLCS1.Groups[1].Value.Trim() + "," + */docFileName + "\r\n";
//}
}
}
}
catch (Exception error)
{
MessageBox.Show("Error:" + error.Message);
}
finally
{
//关闭文件
wd.Close(ref nullobj, ref nullobj, ref nullobj);
//关闭COM
app.Quit(ref nullobj, ref nullobj, ref nullobj);
}
//返回文本内容
return context;
}
4. C编程读取excel数据文件
C#里面有个专门读取Excel、Word的第三方库叫做NPOI,之前我拿它做过项目,这个库在开发企业应用上也有应用,而且容易上手,建议题主试试。传送门:
NPOI - Home
更加简单的方法就是安装Office / WPS后,引用它的dll,通过Excel/ET的API来实现读取。5. 如何用c语言读取excel文件里的数据
自己去读Excel文件我估计几乎是不可能的,可以借助Excel提供的数据库驱动程序以数据库的形式去访问,但用纯C语言穿靴戴帽的代码较多,用C++估计简便点,网上很容易搜到。
6. c语言读取excel单元格内容
格式如下:Call Plugin.Office.OpenXls(文件路径)Text = Plugin.Office.ReadXls(页, 行, 列)Call Plugin.Sys.SetCLB(Text)Call Plugin.Office.CloseXls()比如excel的路径是:C:\测试.xls单元格是:A4那么代码如下:Call Plugin.Office.OpenXls("C:\测试.xls"
)Text = Plugin.Office.ReadXls(1, 4, 1)Call Plugin.Sys.SetCLB(Text)Call Plugin.Office.CloseXls()
7. C语言读取excel
首先你要明白导入文件步骤:
1.实例化excel读取对象
2.加载excel文件
全部加载
选择加载
3.读取excel文件
全部读取
逐行读取
以下你看看那个更加适应你
顺便列出几个其他语言导入Excel文件,希望对你有帮助
PHP导入Excel文件
java把Excel文件数据导入数据库
PHP实现导出Excel文件通用方法
JXL生成的excel文件+JAVA文件下载功能
Java通用的Excel文件生成工具类,支持生成文件和浏览器直接下载
java处理Excel文件---excel文件的创建,删除,写入,读取
Java读取Excel文件
jxl解析Excel文件
JXL操作Excel文件
java POI读取Excel文件
java使用poi读取excel文件代码示例
用jxl生成Excel文件
PHP验证码文件类
PHP 下载远程文件
PHP获取远程文件的大小
php压缩CSS文件
PHP强制下载文件
php读取csv文件类
php 简单ftp文件上传范例
一个php 生成zip文件的类
8. c++读入excel数据
1.方法一:采用OleDB读取EXCEL文件: 把EXCEL文件当做一个数据源来进行数据的读取操作,实例如下: 对于EXCEL中的表即sheet([sheet1$])如果不是固定的可以使用下面的方法得到 在使用ImportRow后newds内有值,但不能更新到Excel中因为所有导入行的3.方法三:将EXCEL文件转化成CSV(逗号分隔)的文件,用文件流读取(等价就是读取一个txt文本文件)。 先引用命名空间:using System.Text;和using System.IO;
9. c语言读取excel表格
不知这样的效果如何?文件在附件,代码片段在下方:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
LPXLOPER Add(LPXLOPER x1,LPXLOPER x2)
{
if (x1->xltype==xltypeErr)
{
return x1;
}
if (x2->xltype==xltypeErr)
{
return x2;
}
static XLOPER xlRet={0};
double d1=0,d2=0;
if ((x1->xltype&xltypeNum)==xltypeNum)
{
d1=x1->val.num;
}else if ((x1->xltype&xltypeInt)==xltypeInt)
{
d1=x1->val.w;
}else if ((x1->xltype&xltypeSRef)==xltypeSRef)
{
if (GetNumFromCell(x1,d1)==false)
{
xlRet.val.err=xlerrValue;
xlRet.xltype=xltypeErr;
return (LPXLOPER)&xlRet;
}
}else
{
xlRet.val.err=xlerrValue;
xlRet.xltype=xltypeErr;
return (LPXLOPER)&xlRet;
}
if ((x2->xltype&xltypeNum)==xltypeNum)
{
d2=x2->val.num;
}else if ((x2->xltype&xltypeInt)==xltypeInt)
{
d2=x2->val.w;
}else if ((x2->xltype&xltypeSRef)==xltypeSRef)
{
if (GetNumFromCell(x2,d2)==false)
{
xlRet.val.err=xlerrValue;
xlRet.xltype=xltypeErr;
return (LPXLOPER)&xlRet;
}
}else
{
xlRet.val.err=xlerrValue;
xlRet.xltype=xltypeErr;
return (LPXLOPER)&xlRet;
}
xlRet.xltype=xltypeNum;
xlRet.val.num=d1+d2;
return (LPXLOPER)&xlRet;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
bool GetNumFromCell(LPXLOPER lpXloper,double & dValue)
{
XLOPER x_Tmp={0};
if ((lpXloper->xltype & xltypeSRef)==xltypeSRef)
{
if (xlretUncalced == Excel(xlCoerce, &x_Tmp, 2, lpXloper, TempInt(xltypeNum)))
{
return false;
}
if (x_Tmp.xltype==xltypeErr)
{
return false;
}
dValue=x_Tmp.val.num;
}else
{
return false;
}
return true;
}
很抱歉,回答者上传的附件已失效
10. c#读excel数据
可以
通过自动化过程,使用诸如 Visual C# .NET 这样的语言编写的应用程序就可以用编程方式来控制其他应用程序。利用 Excel 的自动化功能,您可以执行诸如新建工作簿、向工作簿添加数据或创建图表等操作。对于 Excel 和其他 Microsoft Office 应用程序,几乎所有可以通过用户界面手动执行的操作也都可以通过使用“自动化”功能以编程方式来执行
11. c语言怎么调用excel的数据
如何在excel中对数据进行快速归类。
方法步骤如下
1
打开一个需要编辑的excel表格。
2
按快捷键Ctrl+C复制数据区域。
3
按Ctrl+V粘贴到word中。
4
选中姓名之间的分隔号。
5
点击“替换”按钮。
6
点击“更多”按钮。
7
勾选“使用通配符”。
8
将“替换为”设置为“^p”
