打开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) 我试图使用字符串以编程方式为数据形式创建一些xaml.我可以让组合框出现.但是当我尝试使用在字符串中指定"MouseLeftButtonUp"或"Loaded"事件处理程序的代码时; 进入后,页面将变为白色(没有明显的错误).请参阅下面的相关代码.
StringBuilder editTemplate = new StringBuilder("");
editTemplate.Append("<DataTemplate ");
editTemplate.Append("xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' ");
editTemplate.Append("xmlns:toolkit='http://schemas.microsoft.com/winfx/2006/xaml/presentation/toolkit' ");
editTemplate.Append("xmlns:navigation='clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Navigation' ");
editTemplate.Append("xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml' >");
editTemplate.Append("<StackPanel>");
editTemplate.Append(@" <toolkit:DataField Label='" + GetFieldWithoutNumber(theInfo, theDataContext) + "'>");
/* Won't Work */ editTemplate.Append(@" <ComboBox MouseLeftButtonUp='ComboBox_MouseLeftButtonUp' />");
/* Will Work */ editTemplate.Append(@" <ComboBox />");
editTemplate.Append(@" </toolkit:DataField>");
editTemplate.Append("</StackPanel></DataTemplate>");
dynamicDataForm.EditTemplate = XamlReader.Load(editTemplate.ToString()) as DataTemplate;
Run Code Online (Sandbox Code Playgroud) 我正在尝试做一些AJAX,并且需要知道为什么这段代码没有触发完成或错误警报.我在Mozilla Firefox 20.0.1中
请注意
此代码IS更新数据库(我有一个select语句读取准确记录验证它的更新),我只是不确定为什么当响应已经完成,我不能得到一个警报.
我有这些GLOBAL(在javascript页面的顶部)声明变量.
var AjaxEnginePage;
var ClientInfoPage;
var XMLHTTP;
AjaxEnginePage = "AjaxEngine.aspx";
ClientInfoPage="getClientInfo.aspx";
Run Code Online (Sandbox Code Playgroud)
创建连接.
//Creating and setting the instance of appropriate XMLHTTP Request object to a “XmlHttp” variable
function CreateXMLHTTP()
{
try
{
XMLHTTP = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
XMLHTTP = new ActiveXObject("Microsoft.XMLHTTP");
}
catch(oc)
{
XMLHTTP = null;
}
}
//Creating object in Mozilla and Safari
if(!XMLHTTP && typeof XMLHttpRequest != "undefined")
{
XMLHTTP = new XMLHttpRequest();
}
}
Run Code Online (Sandbox Code Playgroud)
绑定连接:
function …Run Code Online (Sandbox Code Playgroud) 所以,我有这个变量,我通过POST从我的视图中的表单推入控制器.
然后我将变量推入viewdata,以便下一个视图可以使用它.但是该视图不需要表单,所以我无法将相同的变量推送到下一个控制器.简而言之,从控制器来回查看和反转信息是很麻烦的,所以我正在寻找一种方法来保持控制器中的全局变量存活,以便所有操作结果都可以访问...我的计划细分是这个......
-User types a "name"
-I send "name" to controller.
-I push 'name' into viewstate (query entity framework to get a list of stuff 'name'
has access to) and return that list into the view.
-In that view I can access the 'name' since it was in view state.
-Clicking on a link inside the page takes me to another controller where I need
to get access to 'name' WITHOUT passing view Routing or POST.
Run Code Online (Sandbox Code Playgroud)
显然,最简单的方法是在全球范围内声明"名称",然后它总是可用,但对于我的生活,我无法弄清楚如何.
所以我试图动态加载我的域数据服务,其中表名是字符串...这是我到目前为止所得到的:通常我会像这样加载:
theDomainDataService.Load(theDomainDataService.getUsersQuery());
Run Code Online (Sandbox Code Playgroud)
所以我试图自动化字符串名称加载哪个实体.
String theVariableEntityName = "Users";
Type t = theDomainDataService.GetType();
MethodInfo stuff = t.GetMethod("Get" + theVariableEntityName + "Query");
var theQuery = stuff.Invoke(theDomainDataService, null);
theDomainDataService.Load((EntityQuery<MySite.Web.Models.User>)theQuery);
---------------------------------------------------------^ Problem
Run Code Online (Sandbox Code Playgroud)
这实际上是正确加载我的domainDataService,但我需要的是一种动态的方式来推断EntityQuery的类型(没有明确声明它将成为用户),因为事实上它可能是任何东西.
我从DomainDataService类尝试了这个没有运气,它没有找到方法的"Set"或"Entry".
public List<object> void PopulateEntity(string theEntityName)
{
Type theEntity = Type.GetType("MySiteMaintenance.Web.Models." + theEntityName);
using (var db = new DatingEntities())
{
IQueryable query = db.Set(theEntity);
foreach (var item in query)
{
var entry = db.Entry(item);
}
}
}
Run Code Online (Sandbox Code Playgroud)
请记住,我所需要的只是一个人口密集的实体(当我拥有的是实体的名称)填充客户端...所以我可以说
DomainServiceClass theClass = new DomainServiceClass();
theClass.Load(theClass.GetEntityNameQuery());
Run Code Online (Sandbox Code Playgroud)
所以我可以用... theClass.Entity(用户......问题等)引用适当加载的实体
可能的重复:
在数据库中存储图像 - 是还是否?
非常简单,我正在托管一个用户可以上传图片的网站,并且我有一个可以正常工作的 .net 文件上传控件。我只是想知道应该使用什么方法将它们存储在服务器上。
我相信这里真正的问题是..我想要 IIS 还是 Sql Server 2008 R2 上的负载?
关于我应该使用哪种方法的普遍共识是什么?为什么?谢谢!
protected void Page_Load(object sender, EventArgs e)
{
System.IO.File.WriteAllText(@"C:\CallInformation.txt", "Some data");
}
Run Code Online (Sandbox Code Playgroud)
是服务器上的CallInformation.txt?还是客户?如果它是服务器,除了指定计算机名称(@"\ Workstation\c $\CallInformation.txt")之外,我如何才能保存文件客户端?
我需要更改UL元素中找到的所有图像的src.我有一个Jquery库,所以也许会让它变得更容易.HTML看起来像这样.
<ul id="sortable" class="ui-sortable">
<li class="ui-state-default">
<img id="aImg" alt="sortable image" src="images/a.jpg" />
</li>
<li class="ui-state-default">
<img id="bImg" alt="sortable image" src="images/b.jpg" />
</li>
<li class="ui-state-default">
<img id="cImg" alt="sortable image" src="images/c.jpg" />
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
在文件扩展名之前,使用"-backup"将所有图像源重命名为相同文件名的最快方法是什么?
我一直在尝试遵循位于以下位置的 EventToCommandBehavior 示例:
该示例显示了为列表视图中的项目触发的 selectedItem 事件。我希望为列表视图中的任何项目触发 Switch 事件。
我确实确保将 EventName 从“ItemsSelected”更改为“Toggled”(切换事件),但根本没有触发该事件。我可能做错了什么?
FWIW,我正在尝试遵循 MVVM 模式并最小化“代码隐藏”
车库页面.xaml
<ContentPage.Resources>
<ResourceDictionary>
<converters:ToggledItemEventArgsConverter x:Key="ToggledConverter" />
</ResourceDictionary>
</ContentPage.Resources>
<ListView x:Name="listView" VerticalOptions="StartAndExpand" HasUnevenRows="true" ItemsSource="{Binding Previews}" HeightRequest="800" SeparatorVisibility="None"
behaviors:ListViewBehavior.NoBackgroundSelection="True">
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<cardView:CardView Margin="40,15,40,15" HeightRequest="200" CardViewOutlineColor="{StaticResource Primary}" Padding="5" CardViewOutlineColorThickness="1" CardViewHasShadow="True">
<cardView:CardView.CardViewContent>
<StackLayout Orientation="Vertical" BackgroundColor="White" >
<StackLayout VerticalOptions="CenterAndExpand" >
<StackLayout Grid.Row="0" Grid.Column="0" >
<StackLayout HorizontalOptions="Center">
<Label Text="Enable Mobile Alert" FontSize="Small" TextColor="{StaticResource LightTextColor}"/>
<Switch IsToggled="{Binding PushNotification}" HorizontalOptions="Center">
<Switch.Behaviors>
<behaviors:EventToCommandBehavior EventName="Toggled" Command="{Binding ToggleAlertCommand}" Converter="{StaticResource ToggledConverter}" />
</Switch.Behaviors>
</Switch>
</StackLayout>
</StackLayout> …Run Code Online (Sandbox Code Playgroud) c# ×7
asp.net ×2
javascript ×2
silverlight ×2
ajax ×1
arrays ×1
asp.net-mvc ×1
excel ×1
file ×1
file-upload ×1
html ×1
io ×1
jquery ×1
mvvm ×1
openxml ×1
reflection ×1
xamarin ×1
xaml ×1
xml ×1