我使用OpenXML SDK在C#中生成了一个.xlsx电子表格,但无法弄清楚如何使单元格样式起作用.我一直在研究Excel生成的文件,并且无法弄清楚它是如何完成的.
现在,我正在创建一个填充,创建一个CellStyleFormat指向填充,创建一个CellFormat指向的索引CellStyleFormat,然后创建一个CellStyle指向CellFormat.
这是我用来生成文档的代码:
Console.WriteLine("Creating document");
using (var spreadsheet = SpreadsheetDocument.Create("output.xlsx", SpreadsheetDocumentType.Workbook))
{
Console.WriteLine("Creating workbook");
spreadsheet.AddWorkbookPart();
spreadsheet.WorkbookPart.Workbook = new Workbook();
Console.WriteLine("Creating worksheet");
var wsPart = spreadsheet.WorkbookPart.AddNewPart<WorksheetPart>();
wsPart.Worksheet = new Worksheet();
var stylesPart = spreadsheet.WorkbookPart.AddNewPart<WorkbookStylesPart>();
stylesPart.Stylesheet = new Stylesheet();
stylesPart.Stylesheet.Fills = new Fills();
// create a solid red fill
var solidRed = new PatternFill() { PatternType = PatternValues.Solid };
solidRed.AppendChild(new BackgroundColor { Rgb = HexBinaryValue.FromString("FF00FF00") });
stylesPart.Stylesheet.Fills.AppendChild(new Fill { PatternFill = …Run Code Online (Sandbox Code Playgroud) 我需要用mysql减去1个月和4天,我看到命令
DATE_ADD (NOW (), - 1 MONTH)完美1个月但是1个月和4天,使用31天无效,每个月有些带30,29,28.我无法添加31 + 4,30 + 4等
String[]与...相比重量轻list<string>.因此,如果我不需要操纵我的收藏品,我应该使用string[]还是总是可行的list<string>?
如果是list<string>,我们是否需要执行空检查或不需要?
打开OpenXML创建的电子表格时收到错误.错误如下.
Repaired Records: Cell information from /xl/worksheets/sheet.xml part
Repaired Records: Cell information from /xl/worksheets/sheet2.xml part
Repaired Records: Cell information from /xl/worksheets/sheet3.xml part
Run Code Online (Sandbox Code Playgroud)
我唯一能在网上找到有用的东西就是这个问题讨论了一种算法,它会多次改变单个单元格导致问题.话虽如此,我将把我的构造函数链接到SpreadsheetDocument以及更新单元格的三个函数(我曾经做过一次).
我可以根据需要提供任何其他功能,但我相信问题出现在下面列出的两个中.
顺便说说,
GetWorksheetPartByName
InsertCellInWorksheet
GetCell
Run Code Online (Sandbox Code Playgroud)
应该都按预期工作.
实际计划
static void Main(string[] args)
{
//Full path for File
const string newFile = "@C:\test.xlsx";
//Constructor creates default worksheet called "mySheet"
var spreadsheet = new XLSXHelper(newFile);
//updating some cells.
spreadsheet.UpdateCell("mySheet", "D2", "R", 2);
}
Run Code Online (Sandbox Code Playgroud)
构造函数
public XLSXHelper(string filepath)
{
newFile = filepath;
spreadsheetDocument = SpreadsheetDocument.Create(filepath, SpreadsheetDocumentType.Workbook);
this.workbookPart = spreadsheetDocument.AddWorkbookPart();
workbookPart.Workbook = …Run Code Online (Sandbox Code Playgroud) 我正在尝试将USB设备连接到Android 5.1.1设备.以前我一直在使用常规的libusb for KitKat,但Lollipop增加了安全性,这不再适用.
这是有据可查的,需要root来设置SELinux级别.我不想让设备生根以使USB设备连接到它.
环顾四周,我遇到了这个答案,我尝试了这个libusb fork,但是现在我收到了一个新的错误
libusb_open_device_with_vid_pid (29c2) failed.
Failed to setup USB
usb_setup: -1
Run Code Online (Sandbox Code Playgroud)
我没有更改任何代码,只有库.
这仍然是一个许可问题,或者是否有一些我不知道会使这项工作?
我正在使用Microsoft Open XML SDK 2,我很难在单元格中插入日期.我可以通过设置插入数字而没有问题Cell.DataType = CellValues.Number,但是当我对日期(Cell.DataType = CellValues.Date)执行相同操作时Excel 2010崩溃(2007年也是如此).
我尝试将Cell.Text值设置为多种日期格式以及Excel的日期/数字格式无济于事.我也尝试使用样式,删除type属性,以及我扔在墙上的许多其他比萨...
有人能指出我在工作表中插入日期的例子吗?
是否可以使用OpenXML SDK创建和编辑Excel文档而无需创建本地文件?
根据文档,该Create方法需要a filepath,它创建文件的本地副本.
SpreadsheetDocument spreadsheetDocument = SpreadsheetDocument.Create(filepath, SpreadsheetDocumentType.Workbook);
Run Code Online (Sandbox Code Playgroud)
我在这里引用MSDN文章:https: //msdn.microsoft.com/en-us/library/office/ff478153.aspx
我的要求是创建文件,浏览器应该点击按钮下载.
有什么建议吗?
我刚刚开始学习使用Haskel的函数式编程.
我正慢慢地通过Erik Meijer在第9频道的讲座(到目前为止我已经观看了前4个),在第4个视频中,Erik解释了尾部是如何工作的,它让我很着迷.
我试着编写一个返回列表中间的函数(偶数长度为2项,奇数为1项)我想听听其他人如何实现它
如果你能解释一下你的选择,我将非常感激.
我的初学者代码如下所示:
middle as | length as > 2 = middle (drop 2 (reverse as))
| otherwise = as
Run Code Online (Sandbox Code Playgroud) 我有一个类似的东西:
public class Section
{
private IEnumerable<Section> sections;
private IEnumerable<KeyValuePair<string, string>> attributes
public string Name {get;set;}
public IEnumerable<Section> Sections
{
get {return sections;}
}
public IEnumerable<KeyValuePair<string, string>> Attributes
{
get {return attributes;}
}
public Section(...)
{
//constructor logic
}
}
Run Code Online (Sandbox Code Playgroud)
其中包含在另一个类中,我们OtherClass为了参数而调用它,它包装它并在ObjectDataProvider中的WPF中使用.
如您所见,一个实例Section可以包含许多其他实例Section.
在XAML中有没有办法创建一个处理这种递归的模板?
这是我到目前为止所得到的:
<UserControl x:Class="OtherClassEditor"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:OtherClassNS="clr-namespace:NameSpace"
Height="300" Width="300">
<UserControl.Resources>
<ObjectDataProvider ObjectType="{x:Type OtherClassNS:OtherClass}" x:Key="ViewModel" />
<DataTemplate x:Key="listViewAttr">
<WrapPanel>
<TextBlock Text="{Binding Path=Key}"></TextBlock><TextBlock Margin="0,0,4,0">: </TextBlock>
<TextBlock Text="{Binding Path=Value}"></TextBlock>
</WrapPanel>
</DataTemplate>
<DataTemplate x:Key="listViewSection">
<StackPanel>
<WrapPanel …Run Code Online (Sandbox Code Playgroud) 我想要一个函数在一个线程上连续检查队列是否有新的添加
显然,可以选择连续循环播放睡眠,但我希望减少浪费.
我考虑了某种类型的等待句柄,然后让队列发出信号,但我无法安全地覆盖Enqueue,因为它不是虚拟的.
现在我正在考虑封装一个Queue<T>作为我最好的选择,但我想问你好人,如果有更好的人!
我的想法是:我希望许多线程访问套接字连接,同时保证他们只读取其消息的响应,所以我将有一个线程调度和读取响应,然后用响应数据执行回调(以纯文本格式)
c# ×6
excel ×4
openxml ×4
.net ×2
openxml-sdk ×2
android ×1
android-ndk ×1
c#-4.0 ×1
datatemplate ×1
haskell ×1
java ×1
libusb-1.0 ×1
list ×1
mysql ×1
sql ×1
wpf ×1
xaml ×1
xml ×1