这是抓取时获取网页的最佳方式吗?
HttpWebRequest oReq = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse resp = (HttpWebResponse)oReq.GetResponse();
var doc = new HtmlAgilityPack.HtmlDocument();
doc.Load(resp.GetResponseStream());
var element = doc.GetElementbyId("//start-left");
var element2 = doc.DocumentNode.SelectSingleNode("//body");
string html = doc.DocumentNode.OuterHtml;
Run Code Online (Sandbox Code Playgroud)
我已经看到HtmlWeb().Load了一个网页.这是一个更好的替代加载和刮网页?
好的,我会试试.
HtmlDocument doc = web.Load(url);
Run Code Online (Sandbox Code Playgroud)
现在,当我得到我的doc,并没有得到如此mutch属性.没有人喜欢SelectSingleNode.我唯一可以使用的是GetElementById,但这有效但我想上课.
我需要这样做吗?
var htmlBody = doc.DocumentNode.SelectSingleNode("//body");
htmlBody.SelectSingleNode("//paging");
Run Code Online (Sandbox Code Playgroud) 我正在使用EPPlus从excel读取数据到datable.
在阅读了包含10行记录的Excel工作表后,我通过删除现有数据并仅保留一行数据来修改Excel工作表.但是当我正在读取修改后的excel时,它仍然会将10行(带有值1并保留为空字段)读取到数据表中.
怎么能限制这个?我正在使用以下代码来阅读Excel.
using (var pck = new OfficeOpenXml.ExcelPackage())
{
using (var stream = File.OpenRead(FilePath))
{
pck.Load(stream);
}
var ws = pck.Workbook.Worksheets.First();
bool hasHeader = true; // adjust it accordingly(this is a simple approach)
foreach (var firstRowCell in ws.Cells[1, 1, 1, ws.Dimension.End.Column])
{
DSClientTransmittal.Tables[0].Columns.Add(hasHeader ? firstRowCell.Text : string.Format("Column {0}", firstRowCell.Start.Column));
}
var startRow = hasHeader ? 2 : 1;
for (var rowNum = startRow; rowNum <= ws.Dimension.End.Row; rowNum++)
{
//var wsRow = ws.Cells[rowNum, 1, rowNum, ws.Dimension.End.Column];
var wsRow = ws.Cells[rowNum, …Run Code Online (Sandbox Code Playgroud) 我需要.dbf使用C#连接到Visual Studio中的文件并填充数据表.有任何想法吗?我目前可以在Visual Fox Pro 9.0中查看表格
代码我尝试过但失败了,继续得到
外部表格不是预期的格式.
private OleDbConnection conn;
private OleDbCommand cmd;
private OleDbDataReader dr;
private string sqlStr = "";
private DataSet myDataSet;
private OleDbDataAdapter myAdapter;
void test2()
{
conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\Users\\PC1\Documents\\Visual FoxPro Projects\\;Extended Properties=DBASE IV;");
conn.Open();
sqlStr = "Select * from Clients.dbf";
//Make a DataSet object
myDataSet = new DataSet();
//Using the OleDbDataAdapter execute the query
myAdapter = new OleDbDataAdapter(sqlStr, conn);
//Build the Update and Delete SQL Statements
OleDbCommandBuilder myBuilder = new OleDbCommandBuilder(myAdapter);
//Fill …Run Code Online (Sandbox Code Playgroud) 我希望有人可以帮助我使用ClosedXML,因为我是Excel新手出口的人,而且从我看到的ClosedXML,文档在某些方面相当有限.
目前我正在将数据放入Datatable,将行格式化为正确的类型并使用正确的布局导出.
当我尝试在每个单元格中导出包含重复公式的一行时,会发生此问题.
我试图将公式简单地添加为一个字符串,然后我可以在文件导出时突出显示并转换,这显然不是理想的.我发现了一个XML类,XLFormula它完全没有文档,但我认为我应该对此做些什么.
目前我已经(注释掉我正在使用的方式XLFormula,试图XLFormula将公式作为字符串传递并设置为每单位的总出价):
dt.Columns.Add("Qty", typeof(int));
dt.Columns.Add("Bid Per Unit GBP", typeof(double));
dt.Columns.Add("Total Bid GBP"); //typeof(XLFormula)
foreach (DataRow dr in dt.Rows)
{
//XLFormula totalBidFormula = new XLFormula();
dr["Qty"] = 1;
dr["Bid Per Unit GBP"] = 0.00;
dr["Total Bid GBP"] = "=[@Qty]*[@[Bid Per Unit GBP]]";
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激.如果我想用ClosedXML做的事情是不可能的,请告诉我,如果你可以建议一个替代的XML导出器(即使它已付费),这将有所帮助!
我正在开发一个WordSearch拼图程序(也称为WordFind),你必须在其中找到大量字母中的某些单词.我正在使用C#WinForms.
我的问题是当我想点击并按住1个字母(Label),然后拖到其他字母来改变它们ForeColor.我试过谷歌搜索但无济于事.
这是我有的:
foreach (Letter a in game.GetLetters())
{
this.Controls.Add(a);
a.MouseDown += (s, e2) =>
{
isDown = true;
a.ForeColor = Color.Yellow;
};
a.MouseUp += (s, e2) =>
{
isDown = false;
};
a.MouseHover += (s, e2) =>
{
if (isDown)
a.ForeColor = Color.Yellow;
};
}
Run Code Online (Sandbox Code Playgroud)
但是,除非未按住鼠标,否则MouseHover事件永远不会触发.还没有运气换MouseHover用MouseEnter.所以,我保留了MouseDown和MouseUp事件并尝试在表单中使用MouseHover:
private void frmMain_MouseHover(object sender, MouseEventArgs e)
{
if (isDown)
{
foreach (Letter l in game.GetLetters())
if (l.ClientRectangle.Contains(l.PointToClient(Control.MousePosition)))
l.ForeColor = Color.Purple;
} …Run Code Online (Sandbox Code Playgroud) 我在C#中使用Novacode DocX.使用方法InsertSectionPageBreak().但它不保存默认页面的参数.例如,页面应采用横向格式.使用InsertSectionPageBreak()格式更改书籍时.我需要每个表都在横向格式的每个页面上.
using (DocX doc = DocX.Create(fileName))
{
doc.PageLayout.Orientation = Orientation.Landscape;
var table = doc.AddTable(12, 2);
doc.InsertTable(table);
doc.InsertSectionPageBreak();
}
Run Code Online (Sandbox Code Playgroud) 我有一个txt文件作为字符串,我需要找到两个字符和Ltrim/或Rtrim其他所有字之间的单词.它可能必须是有条件的,因为两个字符可能会根据字符串而改变.
例:
car= (data between here I want) ;
car = (data between here I want) </value>
Run Code Online (Sandbox Code Playgroud)
码:
int pos = st.LastIndexOf("car=", StringComparison.OrdinalIgnoreCase);
if (pos >= 0)
{
server = st.Substring(0, pos);..............
}
Run Code Online (Sandbox Code Playgroud) 我正在使用FileHelpers来创建NACHA文件.以下示例
许多属性都是带前导零的数字,因此它们已被定义为字符串.是否有一个属性可以填充Class属性中的前导零,类似于FieldTrim/TrimMode删除空格的方式?
[FixedLengthRecord()]
public class FileControlRecord
{
[FieldFixedLength(1)]
public int RecordTypeCode = 9; //Constant
[FieldFixedLength(6)]
public string BatchCount; //Numeric
[FieldFixedLength(6)]
public string BlockCount; //Numeric
[FieldFixedLength(8)]
public string EntryAddendaCount; //Numeric
[FieldFixedLength(10)]
public string EntryHash; //Numeric
[FieldFixedLength(12)]
public string TotalDebit; //$$$$$$$$$$cc
[FieldFixedLength(12)]
public string TotalCredit; //$$$$$$$$$$cc
[FieldFixedLength(39)]
[FieldNotInFile]
public string RESERVED; //Blank
}
Run Code Online (Sandbox Code Playgroud) 在ASP.NET Identity 2.X上,我们可以配置一个通知基础架构,尽管库中IIdentityMessageService提供的接口Microsoft.AspNet.Identity.Core尚未升级到3.0版.
在ASP.NET Identity 3.0上配置消息传递基础结构的做法是什么?
我在将纳秒转换为时遇到了一些麻烦,DateTime因此我可以使用 Google Fit API ( https://developers.google.com/fit/rest/v1/reference/users/dataSources/datasets/get )
数据集标识符是最小数据点开始时间和最大数据点结束时间的组合,表示为从纪元开始的纳秒。ID 的格式如下:“startTime-endTime”,其中 startTime 和 endTime 是 64 位整数。
我能够以这种方式从日期时间转换为纳秒
DateTime zuluTime = ssDatetime.ToUniversalTime();
DateTime unixEpoch = new DateTime(1970, 1, 1);
ssNanoSeconds = (Int32)(zuluTime.Subtract(unixEpoch)).TotalSeconds + "000000000";
Run Code Online (Sandbox Code Playgroud)
但现在我需要将纳秒转换为DateTime. 我该怎么做?
c# ×10
.net ×1
asp.net ×1
closedxml ×1
datatable ×1
datetime ×1
dbf ×1
epplus ×1
excel ×1
excel-import ×1
filehelpers ×1
google-fit ×1
indexof ×1
leading-zero ×1
mousehover ×1
openxml ×1
string ×1
substring ×1
web-scraping ×1
webforms ×1
winforms ×1