C# 实现Excel读取接口写入数据
[Route("adm/getInfo")]
[HttpGet]
public string GetInfo()
{
var types = typeof(GCP.Server.WebAPI.Controllers.HomeController).Assembly.GetTypes().Where(m => m.Name.EndsWith("Controller"));
System.Text.StringBuilder sb = new System.Text.StringBuilder(100);
sb.Append("接口").Append(",").Append("类型").Append(",").Append("注释").AppendLine();
using (System.IO.StreamReader sr = new System.IO.StreamReader(@"F:\GCP\SourceCode\GCP\GCP.WebAPI\App_Data\GCP.WebAPI.XML"))
{
System.Xml.XmlDocument xml = new System.Xml.XmlDocument();
xml.Load(@"F:\GCP\SourceCode\GCP\GCP.WebAPI\App_Data\GCP.WebAPI.XML");
var members = xml.LastChild.LastChild.ChildNodes;
//var members = xml.LastChild.ChildNodes;
foreach (var t in types)
{
var routePrefix = t.GetCustomAttributes(false).FirstOrDefault(m => m.ToString().Contains("RoutePrefix")) as RoutePrefixAttribute;
if (routePrefix == null)
{
continue;
}
string prefix = routePrefix.Prefix;
var ms = t.GetMethods(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance)
.Where(m => m.GetCustomAttributes(false).Any(n => n.GetType() == typeof(RequestControlAttribute)));
foreach (var m in ms)
{
var requestCtrl = m.GetCustomAttributes(typeof(RequestControlAttribute), false)[0] as RequestControlAttribute;
var routeAttr = m.GetCustomAttributes(typeof(RouteAttribute), false)[0] as RouteAttribute;
Row r = new Row
{
Url = prefix + "/" + routeAttr.Template,
Type = requestCtrl.requestorType.ToString(),
Content = GetContent(members, m)
};
sb.Append(r.Url).Append(",").Append(r.Type).Append(",").Append(r.Content).AppendLine();
}
}
}
System.IO.File.WriteAllText("e:/info.csv", sb.ToString(), System.Text.Encoding.UTF8);
return "OK";
}
private string GetContent(XmlNodeList members, MethodInfo m)
{
for (int i = 0; i < members.Count; i++)
{
var mem = members[i];
if (mem.Attributes["name"].Value.Contains(m.DeclaringType.ToString() + "." + m.Name))
{
return mem.FirstChild.InnerText.Replace("\r\n", "").Replace(",", "_").Trim();
}
}
return "";
}
class Row
{
public string Url { get; set; }
public string Type { get; set; }
public string Content { get; set; }
}
C# 实现Excel读取接口写入数据的更多相关文章
- 复制excel表,往excel表中写入数据
import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import jav ...
- Hadoop源代码分析:HDFS读取和写入数据流控制(DataTransferThrottler类别)
DataTransferThrottler类别Datanode读取和写入数据时控制传输数据速率.这个类是线程安全的,它可以由多个线程共享. 用途是构建DataTransferThrottler对象,并 ...
- nodeks —— fs模块 —— 从流中 读取和写入数据
Fs流读取和写入数据 使用文件流来读取大文件不会卡顿 1, 从流中读取数据 var fs = require("fs"); var data = ''; var count = 0 ...
- 用OpenPyXL处理Excel表格 - 向sheet读取、写入数据
假设一个名叫"模板"的excel表格里有四个sheet,名字分别是['平台', '制冷', '洗衣机', '空调'] 1.读取 from openpyxl import load_ ...
- python使用 openpyxl包 excel读取与写入
'''### 写入操作 ###from openpyxl import Workbook#实例化对象wb=Workbook()#创建表ws1=wb.create_sheet('work',0) #默认 ...
- Pandas之Dateframe 实现Excel读取与写入
目的:有时需对数据进行到出到Excel,直观的给别人参阅,或从Excel中读取数据进行操作和分析依赖库 pandas 可简单的读出和写入 1,根据Excel读取( 需安装xlrd库) import n ...
- 使用java进行excel读取和写入
1:添加处理excel的依赖jar包 <!-- 引入poi,解析workbook视图 --> <dependency> <groupId>org.apache.po ...
- C#连接Excel读取与写入数据库SQL ( 上 )
第一次写C#与sql的东西,主要任务是从Excel读取数据,再存到SQL server中. 先上读取Excel文件的code如下. public bool GetFiles(string equipN ...
- 转载-python学习笔记之输入输出功能读取和写入数据
读取.写入和 Python 在 “探索 Python” 系列以前的文章中,学习了基本的 Python 数据类型和一些容器数据类型,例如tuple.string 和 list.其他文章讨论了 Pytho ...
随机推荐
- WPF画箭头
简介 参考Using WPF to Visualize a Graph with Circular Dependencies的基础上写了一个WPF画箭头的库. 效果图如下: 使用的XAML代码如下: ...
- ASP.NET 后台验证 TextBox 值是否为数字
记得最开始 using System.Text.RegularExpressions; Regex m_regex = new System.Text.RegularExpressions.Regex ...
- jQuery Text-to-Speech 谷歌在线语音
<!DOCTYPE html> <html> <head> <meta content="text/html; charset=utf-8" ...
- JavaScript的进阶之路(一)
JavaScript由ECMAScript BOM DOM三部分组成 ECMAScript重要版本1,3,5,6,提供核心语言功能 DOM提供访问和操作网页内容的方法和接口 BOM提供与浏览器交互的的 ...
- Python爬虫教程-30-Scrapy 爬虫框架介绍
从本篇开始学习 Scrapy 爬虫框架 Python爬虫教程-30-Scrapy 爬虫框架介绍 框架:框架就是对于相同的相似的部分,代码做到不出错,而我们就可以将注意力放到我们自己的部分了 常见爬虫框 ...
- unity中Animation与Animator的区别
Animation:单一动画,一般使用在单一动画播放.占用资源小. Animator:多个动画,可用控制器切换多个动画播放.占用资源大.
- ArcGIS 10.1 如何连接数据库(转载)
ArcGIS 10.1如何连接数据库 最近在使用ArcGIS 10.1的数据库,在使用的过程中发现了跟以往不太一样的地方,在这里将自己的心得和想法跟大家分享一下(使用Postgresql),根据使用过 ...
- SpringMVC学习(一)——概念、流程图、源码简析
学习资料:开涛的<跟我学SpringMVC.pdf> 众所周知,springMVC是比较常用的web框架,通常整合spring使用.这里抛开spring,单纯的对springMVC做一下总 ...
- js前台检测上传图片大小的总结
最近一直在做上传图片的前端检测,不通过后台就完成这个动作.但实际是,实际效果差强人意. html5的fileApi出来后,对文件的处理才变得方便了些,对它的简单介绍可以看我的前面的博客.现在支持的浏览 ...
- SQLSERVER procedure 传入参数为DataTable类型 C#该怎么写
以上为数据库中存储过程传入参数为table类型 table类型在数据库中存在为: 最后在C#实现方式为: